草庐IT

data-collection

全部标签

c# - “不要公开通用列表”,为什么在方法参数中使用 collection<T> 而不是 list<T>

我正在使用FxCop,它显示“不要公开通用列表”的警告,建议使用Collection而不是List.首选它的原因,我知道所有这些东西,如thisSOpost中所述和MSDN以及我浏览过的更多文章。但我的问题是,我很少有方法可以进行如此繁重的计算,并且方法接受List的参数。就性能而言,这应该更快更好。但是FxCop也为此发出警告。所以一个选择是我应该将参数声明为Collection,然后使用ToList()在方法内部,然后使用它。那么优化了哪一个呢?“抑制这种情况下的警告”或“在参数中使用Collection,然后在方法本身内部使用ToList()”。 最佳

c# - 面向对象编程 : Separation of Data and Behavior

最近我们讨论了类中的数据和行为分离。通过将域模型及其行为放入单独的类中来实现数据和行为分离的概念。但是,我不相信这种方法的假定好处。尽管它可能是由某个“伟人”创造的(我认为是MartinFowler,尽管我不确定)。我在这里举一个简单的例子。假设我有一个包含Person及其方法(行为)数据的Person类。classPerson{stringName;DateTimeBirthDate;//constructorPerson(stringName,DateTimeBirthDate){this.Name=Name;this.BirthDate=BirthDate;}intGetAge(

c# - SMTP 异常 : Unable to read data from the transport connection: net_io_connectionclosed

我知道这个问题看起来像是许多其他问题的重复,但事实并非如此。每当我尝试通过我的Web应用程序在我的本地计算机上发送电子邮件时,都会抛出SMTPException,异常是://onthisline:SmtpServer.Send(mail);Unabletoreaddatafromthetransportconnection:net_io_connectionclosed.虽然生产代码运行良好,相同的代码、相同的连接、相同的凭据,我使用的是IP而不是别名,我试图关闭本地机器上的防火墙,但没有任何帮助解决这个问题。虽然以前在我的本地机器上工作过,但任何人都可以提示引发此问题的可能是什么问题

c# - 错误 : Cannot implicitly convert type 'void' to 'System.Collections.Generic.List'

我正在尝试使用该控件从.ascx设置我的.ascx控件的属性。所以在我的一个包含此控件的.aspx中,我有以下代码试图设置我的嵌入式.ascx的ItemsList属性:Itemitem=GetItem(itemID);myUsercontrol.ItemList=newList().Add(item);我尝试设置的.ascx中的属性如下所示:publicListItemsList{get{returnthis.itemsList;}set{this.itemsList=value;}}错误:无法将类型“void”隐式转换为“System.Collections.Generic.List

C# 找不到类型或命名空间名称 `List'。但我正在导入 System.Collections.Generic;

我有一个错误Thetypeornamespacename`List'couldnotbefound.Areyoumissingausingdirectiveoranassemblyreference?示例代码:usingUnityEngine;usingSystem.Collections;usingSystem.Collections.Generic;publicclasscity1:MonoBehaviour{publicstaticListitems=newList();publicstaticListitemsprice=newList();publicstaticListqu

c# - 'System.Data.Entity.Internal.AppConfig' 的类型初始值设定项在子网站上抛出异常

我有2个网站,一个是另一个的子目录,但它是一个应用程序例如:/root&/root/Services他们都使用EntityFramework6.x但子网站正在抛出ThetypeinitializerforSystem.Data.Entity.Internal.AppConfig'throwanexception因为它似乎看到了许多条目由于嵌套的web.config而用于相同的EF数据库提供程序有没有办法清除提供程序集合,这样我就不会收到此错误?我试过没有效果。如果我注释掉providers部分就可以了但我不想这样做,因为并非每个环境都会有嵌套网站。并且NuGet倾向于将其放回原处。我可

c# - 无法将类型 'System.Data.EntityState' 隐式转换为 'System.Data.Entity.EntityState' 。存在显式转换(您是否缺少转换?)

我在使用EntityFramework时在asp.net中遇到此错误:“无法将类型System.Data.EntityState隐式转换为System.Data.Entity.EntityState。存在显式转换(是否缺少强制转换?)”这是片段:foreach(OrderLinelineinorder.OrderLines){context.Entry(line.Product).State=System.Data.EntityState.Modified;}请建议我应该如何解决错误。 最佳答案 当您使用EF6或从EF5迁移到EF6

C#语言 : Garbage Collection, SuppressFinalize

我正在阅读“TheC#Language”,第4版,它讨论垃圾收集如下:"BILLWAGNER:ThefollowingruleisanimportantdifferencebetweenC#andothermanagedenvironments.Priortoanapplication’stermination,destructor'sforallofitsobjectsthathavenotyetbeengarbagecollectedarecalled,unlesssuchcleanuphasbeensuppressed(byacalltothelibrarymethodGC.Su

c# - 移植时出现 Mono resources.resx 问题( '</data>' 上的 resx xml 文件出现奇怪错误)

所以我有一个C#应用程序。它有一些链接到它的Assets,并在编译时被嵌入。应用程序在Windows上完美编译和运行。当测试与单声道的兼容性时,一切都是正确的。如果我尝试编译给出一个错误nxml文件/home/rupert/Desktop/CloudObserverLite(4)/CloudObserverLite/Properties/Resources.resx:Error:Error:InvalidResXinput.Position:Line123,Column5.Innerexception:value(CloudObserverLite)如果我们将查看resxxml...S

c# - 内部 System.Linq.Set<T> 与公共(public) System.Collections.Generic.HashSet<T>

检查Linq.Enumerable类中的这段代码:staticIEnumerableDistinctIterator(IEnumerablesource,IEqualityComparercomparer){Setset=newSet(comparer);foreach(TSourceelementinsource)if(set.Add(element))yieldreturnelement;}为什么Microsoft的人决定使用Set的这个内部实现而不是常规的HashSet?如果它在任何方面都更好,为什么不向公众公开呢? 最佳答案