草庐IT

collection_items

全部标签

c# - Equals(item, null) 或 item == null

是使用staticObject.Equals的代码检查空值比使用==运算符或regularObject.Equals的代码更健壮?后两者不是很容易被覆盖,以至于检查null不能按预期工作(例如,当比较值为null时返回false)?换句话说,是这样的:if(Equals(item,null)){/*DoSomething*/}比这更强大:if(item==null){/*DoSomething*/}我个人觉得后一种语法更容易阅读。在编写处理作者控制之外的对象(例如库)的代码时是否应该避免?是否应该始终避免(检查空值时)?这只是头发split吗? 最佳答案

c# - 无法将类型 'System.Collections.Generic.IEnumerable<AnonymousType#1>' 隐式转换为 'System.Collections.Generic.List<string>

我有以下代码:Listaa=(fromcharcinsourceselectnew{Data=c.ToString()}).ToList();但是呢Listaa=(fromcharc1insourcefromcharc2insourceselectnew{Data=string.Concat(c1,".",c2)).ToList();编译出错Cannotimplicitlyconverttype'System.Collections.Generic.List'to'System.Collections.Generic.List'需要帮助。 最佳答案

c# - 将语句与泛型一起使用 : using ISet<> = System. Collections.Generic.ISet<>

因为我使用了两个不同的通用集合命名空间(System.Collections.Generic和Iesi.Collections.Generic),所以我有冲突。在项目的其他部分,我同时使用nunit和mstest框架,但是当我调用Assert时,我想通过使用nunit版本usingAssert=NUnit.Framework.Assert;效果很好,但我想对泛型类型做同样的事情。但是,以下几行不起作用usingISet=System.Collections.Generic.ISet;usingISet=System.Collections.Generic.ISet;有谁知道如何告诉.n

c# - 多线程场景调用Dictionary对象的set_item方法抛出NullReferenceException

我们的网站有一个配置页面,比如“config.aspx”,页面初始化的时候会从一个配置文件中加载一些信息。为了缓存加载的信息,我们提供了一个工厂类,并在页面加载时调用工厂的公共(public)方法来获取配置实例。但有时当应用程序池重新启动时,我们会在事件日志中发现一些错误消息,如下所示:Message:Objectreferencenotsettoaninstanceofanobject.Stack:atSystem.Collections.Generic.Dictionary`2.Insert(TKeykey,TValuevalue,Booleanadd)atSystem.Colle

c# - ObservableCollection 和 Item PropertyChanged

我已经看到很多关于这个问题的讨论,但也许我只是一个新手,无法理解它。如果我有一个可观察的集合,它是msdn示例(http://msdn.microsoft.com/en-us/library/ms748365.aspx)中“PersonNames”的集合,如果添加或删除PersonName等,我会更新我的View,等等。我想要当我更改PersonName中的属性时,也可以更新我的View。就像我更改名字一样。我可以为每个属性实现OnPropertyChanged并让此类从INotifyPropertyChanged派生,这似乎按预期被调用。我的问题是,View如何从Observable

c# - GC.Collect() 和完成

好的,众所周知,当GC将对象识别为垃圾时,它会隐式调用对象上的Finalize方法。但是如果我执行GC.Collect()会发生什么?finalizer是否仍然执行?有人问我这个问题,我回答"is",然后我想:“完全正确吗?” 最佳答案 Ok,it'sknownthatGCimplicitlycallsFinalizemethodsonobjectswhenitidentifiesthatobjectasgarbage.不不不。这不是已知,因为要成为知识,一个陈述必须是真。该声明是错误的。垃圾收集器在跟踪时不会运行终结器,无论它是自

c# - linq 问题 : querying nested collections

我有一个Question类,它具有可以包含多个Answers的公共(public)List属性。我有一个问题存储库,负责从xml文件中读取问题及其答案。所以我有一个问题集合(列表),每个问题对象都有一个答案集合,我想通过使用Linq查询这个问题集合的答案(即通过它的名称)。我不知道如何正确执行此操作。我可以用foreach来完成,但我想知道是否有纯Linq方式,因为我正在学习它。 最佳答案 寻找答案。questions.SelectMany(q=>q.Answers).Where(a=>a.Name=="SomeName")找到问题

c# - 将 ListBox.items 转换为通用列表的最简洁方法

我正在使用C#并以.NETFramework3.5为目标。我正在寻找一小段简洁高效的代码来复制ListBox中的所有项目。到List(通用List)。目前我有类似于下面的代码:ListmyOtherList=newList();//PopulateourcolCriteriawiththeselectedcolumns.foreach(StringstrColinlbMyListBox.Items){myOtherList.Add(strCol);}这当然有效,但我情不自禁地觉得一定有更好的方法来使用一些较新的语言功能来实现这一点。我在想类似List.ConvertAll的东西方法,但

c# - 从 Collection 到 List<T> 的最快转换

我想避免的事情:ManagementClassm=newManagementClass("Win32_LogicalDisk");ManagementObjectCollectionmanagementObjects=m.GetInstances();ListmanagementList=newList();foreach(ManagementObjectminmanagementObjects){managementList.Add(m);}有没有办法将该集合放入类似于以下内容的列表中:ListmanagementList=newList(collection_array);

c# - System.Collections.Generic.IEnumerable' 不包含 'ToList' 的任何定义

问题来了。我正在从ViewPage获取IEnumerable,当我尝试将其转换为List时,它显示如下错误:'System.Collections.Generic.IEnumerable'doesnotcontainadefinitionfor'ToList'andnoextensionmethod'ToList'acceptingafirstargumentoftype'System.Collections.Generic.IEnumerable'couldbefound(areyoumissingausingdirectiveoranassemblyreference?)这是我的C