草庐IT

new_order

全部标签

c# - 代码优先迁移 : How to set default value for new property?

我正在使用EF6在我的数据库中存储report类的实例。数据库已包含数据。假设我想向report添加一个属性,publicclassreport{//...somepreviousproperties//...newproperty:publicstringnewProperty{get;set;}}现在,如果我转到包管理器控制台并执行add-migrationReport-added-newPropertyupdate-database我将在“/Migrations”文件夹中获取一个文件,将newProperty列添加到表中。这很好用。但是,在数据库中的旧条目上,newPropert

c# - 跨部分类的 "textual order"是否正式定义?

具体来说,关于字段初始值设定项(在本例中为静态)-ECMA334中的§17.11:Ifaclasscontainsanystaticfieldswithinitializers,thoseinitializersareexecutedintextualorderimmediatelypriortoexecutingthestaticconstructor.现在,如果我们在单独的文件中有多个partial类,那么这个顺序是在任何地方确定的吗?我的直觉说“没有正式定义,但可能与csproj中包含的顺序或记录到csc的顺序有关”。这是正确的吗?(是的,我意识到完全避免歧义会更好-可能通过将所

c# - C# 中的 `new object()` 和 `new {}` 有什么区别?

首先,我对此进行了搜索,并在StackOverflow上找到了以下链接:Isthereanydifferencebetween`newobject()`and`new{}`inc#?Differencebetweenobjecta=newDog()vsDoga=newDog()但我对这个答案并不满意,它没有很好地解释(我没有很好地理解)。基本上,我想知道newobject()和new{}之间的区别。它们在编译时和运行时如何处理?其次,我在我的asp.net简单应用程序中将以下代码用于WebMethods[WebMethod][ScriptMethod(UseHttpGet=false)

c# - 为什么字典是 "not ordered"?

我已阅读这篇文章以回答此处的许多问题。但这到底是什么意思?vartest=newDictionary();test.Add(0,"zero");test.Add(1,"one");test.Add(2,"two");test.Add(3,"three");Assert(test.ElementAt(2).Value=="two");上面的代码似乎按预期工作。那么字典以什么方式被认为是无序的呢?上面的代码在什么情况下会失败? 最佳答案 嗯,一方面,您不清楚这是插入顺序还是键顺序。例如,如果您这样写:vartest=newDiction

C# 列表<接口(interface)> : why you cannot do `List<IFoo> foo = new List<Bar>();`

如果您有一个接口(interface)IFoo和一个类Bar:IFoo,为什么可以执行以下操作:Listfoo=newList();foo.Add(newBar());但是你不能这样做:Listfoo=newList(); 最佳答案 随便看一眼,这似乎应该(就像啤酒应该是免费的一样)有效。然而,快速的健全性检查向我们展示了为什么它不能。请记住,以下代码不会编译。它旨在说明为什么不允许这样做,即使它看起来在某一点之前都没有问题。publicinterfaceIFoo{}publicclassBar:IFoo{}publicclassZ

c# - 关键字 "new"对 C# 中的结构有何作用?

在C#中,结构是根据值来管理的,而对象是根据引用来管理的。根据我的理解,当创建类的实例时,关键字new导致C#使用类信息来创建实例,如下所示:classMyClass{...}MyClassmc=newMyClass();对于结构,您不是在创建对象,而只是将变量设置为一个值:structMyStruct{publicstringname;}MyStructms;//MyStructms=newMyStruct();ms.name="donkey";我不明白的是,如果通过MyStructms=newMyStruct()声明变量,这里的关键字new对声明做了什么?.如果struct不能是一

c# - "new"c# 属性声明中的关键字

我得到了一个要维护的.NET项目。我刚刚浏览了代码,我在属性声明中注意到了这一点:publicnewstringnavUrl{get{return...;}set{...}}我想知道new修饰符对属性有什么作用? 最佳答案 它隐藏了基类的navUrl属性。参见newModifier.如该MSDN条目中所述,您可以使用完全限定名称访问“隐藏”属性:BaseClass.navUrl。滥用任何一种都可能导致大量困惑和可能的精神错乱(即损坏的代码)。 关于c#-"new"c#属性声明中的关键字,

c# - Bitmap.Clone() 和 new Bitmap(Bitmap) 有什么区别?

据我所知,有两种复制位图的方法。Bitmap.Clone()BitmapA=newBitmap("somefile.png");BitmapB=(Bitmap)A.Clone();新位图()BitmapA=newBitmap("somefile.png");BitmapB=newBitmap(A);这些方法有何不同?我对内存和线程方面的差异特别感兴趣。 最佳答案 阅读之前的答案,我担心像素数据会在位图的克隆实例之间共享。所以我进行了一些测试以找出Bitmap.Clone()和newBitmap()之间的区别。Bitmap.Clone

c# - C# 中的 override 和 new 关键字有什么区别?

在类层次结构中定义方法时,C#中的override和new关键字有什么区别? 最佳答案 下一页很好地总结了您的问题。KnowingWhentoUseOverrideandNewKeywords总结覆盖:当基类的方法在派生类中被覆盖时,将使用派生类中的版本,即使调用代码“不知道”该对象是派生类的实例。New:如果您使用new关键字而不是override,派生类中的方法不会覆盖基类中的方法,它只是隐藏它。如果您既没有指定new也没有指定overrides,生成的输出与您指定new时的结果相同,但您还会收到编译器警告(因为您可能不知道您隐

c# - += new EventHandler(Method) 与 += 方法

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:C#:Differencebetween‘+=anEvent’and‘+=newEventHandler(anEvent)’订阅事件有两种基本方式:SomeEvent+=newEventHandler(MyHandlerMethod);SomeEvent+=MyHandlerMethod;有什么区别,什么时候我应该选择一个而不是另一个?编辑:如果是一样的,那么为什么VS默认为长版本,使代码困惑?这对我来说毫无意义。