草庐IT

generic-list

全部标签

c# - List<T> 是链表吗?

是System.Collections.Generic.List一种linkedlist(不是LinkedList类)?Alinkedlistisadatastructureconsistingofagroupofnodeswhichtogetherrepresentasequence.Underthesimplestform,eachnodeiscomposedofadatumandareference(inotherwords,alink)tothenextnodeinthesequence.Alinkedlistwhosenodescontaintwofields:aninteg

c# - 如何测试一个空的 generic.dictionary 集合?

如何测试通用字典对象以查看它是否为空?我想按如下方式运行一些代码:while(reportGraphs.MoveNext()){reportGraph=(ReportGraph)reportGraphs.Current.Value;report.ContainsGraphs=true;break;}reportGraph对象的类型是System.Collections.Generic.Dictionary运行此代码时,reportGraphs字典为空,MoveNext()立即抛出NullReferenceException。如果有更高效的方法来处理空集合,我不想在block周围放置tr

C# 范式 : Side effects on Lists

我正在努力加深对副作用以及应如何控制和应用它们的理解。在下面的航类列表中,我想为每个满足条件的航类设置一个属性:IEnumerablefResults=getResultsFromProvider();//Setallnon-stopflightsdescriptionfResults.Where(flight=>flight.NonStop).Select(flight=>flight.Description="FlyDirect!");在这个表达式中,我对我的列表有副作用。根据我有限的知识,我知道前。“LINQ仅用于查询”和“列表只有少数操作,分配或设置值不是其中之一”和“列表应该

c# - 如何将 XML 文件读入 List<>?

我有一个List我将其写入XML文件。现在我正在尝试读取同一个文件并将其写回List.有没有办法做到这一点? 最佳答案 我认为最简单的方法是使用XmlSerializer:XmlSerializerserializer=newXmlSerializer(typeof(List));using(FileStreamstream=File.OpenWrite("filename")){Listlist=newList();serializer.Serialize(stream,list);}using(FileStreamstream=

c# - .NET List.sort() 的时间复杂度是多少

C#的List.Sort()的时间复杂度是多少?我猜是o(N)但是我找了很多,都没有得到准确的结果。 最佳答案 http://msdn.microsoft.com/en-us/library/b0zbh7b6.aspxThismethodusesArray.Sort,whichusestheQuickSortalgorithm.Thisimplementationperformsanunstablesort;thatis,iftwoelementsareequal,theirordermightnotbepreserved.Inco

c# - 如何将 System.Linq.Enumerable.WhereListIterator<int> 转换为 List<int>?

在下面的示例中,我如何轻松转换eventScores至List这样我就可以将它用作prettyPrint的参数?Console.WriteLine("ExampleofLINQ'sWhere:");Listscores=newList{1,2,3,4,5,6,7,8};varevenScores=scores.Where(i=>i%2==0);Action,string>prettyPrint=(list,title)=>{Console.WriteLine("***{0}***",title);list.ForEach(i=>Console.WriteLine(i));};score

c# - list<T> 字段的平均计数

我有A的列表,我想计算它的字段a的平均值。最好的方法是什么?classA{inta;intb;}voidf(){varL=newList();for(inti=0;i 最佳答案 Enumerable.Average有一个需要Func的重载作为论点。usingSystem.Linq;list.Average(item=>item.a); 关于c#-list字段的平均计数,我们在StackOverflow上找到一个类似的问题: https://stackoverf

c# - 如何使用重复键对列表进行排序?

我有一组元素/键,我正在从两个不同的配置文件中读取它们。因此键可能相同,但具有与每个键关联的不同值。我想按排序顺序列出它们。我能做什么?我尝试使用SortedList类,但它不允许重复键。我该怎么做?例如,假设我有3个元素,键分别为1、2、3。然后我又得到一个具有键2(但值不同)的元素。然后我希望在现有key2之后但在3之前插入新key。如果我再次找到具有key2的元素,那么它应该在最近添加的key2之后。请注意,我使用的是.NET2.0 最佳答案 对于这种类型的事情,我更喜欢使用LINQ:usingSystem.Linq;...v

c# - 继承 List<T> 来实现集合是个坏主意吗?

我曾经读过ImaarSpaanjars的一篇关于如何构建3层应用程序的文章。(http://imar.spaanjaars.com/416/building-layered-web-applications-with-microsoft-aspnet-20-part-1)这已经成为我编码的基础了一段时间。因此我像他一样通过继承List来实现集合.因此,如果我有一个名为Employee的类,为了实现一个集合,我还将有一个Employees类,如下所示。classEmployee{intEmpID{get;set;}stringEmpName{get;set;}}classEmployee

c# - 如何在不更改相同列表的情况下反转通用列表?

我有一个通用列表,它在一个被调用4次的方法中使用。此方法使用此通用列表的值在PDF中写入表格。我的问题是我需要在方法中反转这个通用列表,但我调用了该方法4次,所以每次我调用该方法时列表都会被反转,我不希望这样......什么我可不可以做?有没有办法在不改变原始列表的情况下反转列表?这是在方法内部:t.List.Reverse();foreach(stringt1int.List){//Somecode} 最佳答案 “简单”的选择是仅以相反的顺序迭代列表而不实际更改列表本身,而不是第一次尝试将其反转并且知道其他时间什么都不做:fore