草庐IT

MySQL:多张表还是一张多列的表?

全部标签

c# - 将文件名传递给方法时,我应该使用 FileInfo 还是普通文件名?

好吧,标题说明了一切。将文件名传递给方法时,我应该使用FileInfo对象还是普通文件名(字符串)?为什么我更喜欢其中之一?我的一些同事喜欢这样写方法:无效导出(文件信息文件信息)是否优于:voidExport(字符串文件名)谢谢! 最佳答案 我通常只使用string-在大多数情况下它更简单。否则,您可能首先从字符串创建一个新的FileInfo。如果您正在创建该方法,您始终可以提供重载以允许这两种方法。当然,如果您知道要在何处调用它,您通常FileInfo而不是string,那是另一回事。我可以理解您同事的观点-在某些方面,File

c# - 我可以确定 KeyEventArg 是字母还是数字吗?

有没有办法确定KeyEventArgs中的键是否为字母/数字(A-Z、0-9)?还是我必须自己做?我找到了e.KeyCode的方法,准确吗?if(((e.KeyCode>=Keys.A&&e.KeyCode=Keys.D0&&e.KeyCode=Keys.NumPad0&&e.KeyCode 最佳答案 您可以使用char.IsLetterOrDigit()KeyCode上的方法事件参数:boolisLetterOrDigit=char.IsLetterOrDigit((char)keyEventArgs.KeyCode);

c# - 接口(interface)还是抽象类?

对于我的新宠物项目,我有一个设计问题,这个问题已经确定了,但我也想就此提出一些其他意见。我有两个类(简化):classMyObject{stringname{get;set;}enumrelation{get;set;}intvalue{get;set;}}classMyObjectGroup{stringname{get;set;}enumrelation{get;set;}intvalue{get;set;}Listmyobjects{get;set;}}稍后在项目中MyObjectGroup和MyObject应该被同等使用。为此,我可以采用两种方式:创建接口(interface)

c# - Entity Framework 中的级联删除(按类型继承的表)

我有DB模型,每个表都有继承类型。例如,实体是A、B、C、A1、A2。基础-A派生-A1,A2。另一个-B,C。因此,A与A1和A2具有1对1关联。B和C分别与A1和A2有关联(一对多,在数据库端有OnDelete操作)。问题我试图从B中删除记录,因此我希望EF也删除与当前B的记录关联的所有A1对象。最后,EF从B中删除记录,从A1中删除所有关联记录,但不从A中删除为什么?怎么解决? 最佳答案 这是一个已知问题,我将其称为错误。显然,只删除表A1中派生实体属性的记录是不正确的。数据库中的剩余数据(在表A中)确实表示另一种对象类型。换

c# - 方法声明的返回类型应该是接口(interface)还是具体类?

在一般情况下,接口(interface)或抽象类通常是合适的决定,对吗?但在某些情况下,具体类看起来更好。例如,publicstringReplace(stringold,stringnew)String的Replace方法返回一个具体类。(这只是一个例子,虽然String没有实现任何接口(interface)。)我的问题是什么时候返回接口(interface),什么时候返回具体类?它是返回接口(interface)的程序的一部分,而不是实现吗? 最佳答案 视情况而定。这个问题我已经看过好几次了,这里有一个很好的例子来说明“视情况而

c# - 在 C# 中执行替换之前执行检查的效率更高还是更低?

这几乎是一个学术问题,但我很好奇它的答案。假设您有一个循环对数据集中的每一行执行例行替换。假设有10,000个这样的行。这样的东西是不是更有效率:Row=Row.Replace('X','Y');或者首先检查该行是否包含要替换的字符,如下所示:if(Row.Contains('X'))Row=Row.Replace('X','Y');在效率上有什么区别吗?我意识到差异可能非常小,我有兴趣知道一种方法是否比另一种更好,而不管它可能好多少。此外,如果找到要替换的字符的概率为10%与90%,您的答案会有所不同吗? 最佳答案 对于您的检查,

c# - Silverlight C# 游戏还是图形引擎?

目前有什么好的C#Silverlight图形或游戏引擎吗?我打算用它创建一个游戏(2d或3d),但是否已经有可用的框架,或者我应该期望自己构建所有内容? 最佳答案 目前,最著名的图形引擎可能是:BalderManagedGameEnginewithboth2Dand3DsupporttargettingSilverlight2/3,XnaandOpenGL.还有:Kit3DKit3Disa3DgraphicsengineforMicrosoftSilverlight.就游戏引擎而言,有:PlayBitsEngine尽管PlayBit

c# - 你如何在 LINQ TO SQL 中按多列分组?

如何在LINQTOSQL中按多列分组?db.Table.GroupBy(a=>a.column1.ToString()+a.column2.ToString())看起来很丑,而且性能很差,我什至不知道它是否有效。哪种方法正确? 最佳答案 尝试按匿名类型分组:groupbynew{item.Col1,item.Col2}然后您将能够访问Key.Col1等 关于c#-你如何在LINQTOSQL中按多列分组?,我们在StackOverflow上找到一个类似的问题:

c# - 我应该使用 Entity Framework 、数据集还是自定义类?

我真的很难过。我需要设计一个将使用WCF作为通信channel的“桌面应用程序”。它是一个多层应用(DB和应用服务器是一样的,客户端通过互联网云)。该应用程序比通常的LOB应用程序有点复杂(在SQL和代码逻辑方面),但概念是相同的:从DB读取、更新到DB、处理并发等。我的问题是现在使用Entity开放的框架,我无法决定采用哪种方式:我应该使用EntityFramework、数据集还是自定义类。正如我对EntityFramework的理解,它将创建我的数据库表的对象映射以及CRUD脚本。这对于简单的CRUD来说很好,但大多数时候“选择”很复杂,它需要自定义SQL。我知道我可以在EF中使用

c# - 我应该为包含 10 个或更少项目的集合使用字典,还是有更好的选择?

我有一个对象列表,我需要尽快找到一个对象(通过它的名称属性)。我应该使用什么数据结构?我知道我可以使用字典,但列表中的项目永远不会超过10个,如果我没记错的话,如果集合包含10个或更少的项目,字典将实现为一个数组。谢谢。 最佳答案 MSDN推荐ListDictionary对于包含10个或更少项目的集合:ThisisasimpleimplementationofIDictionaryusingasinglylinkedlist.ItissmallerandfasterthanaHashtableifthenumberofelement