C#2.0-列表处理
在C#3.0 for中,删除我可以使用的副本C#2.0-列表处理,c#,list,C#,List,在C#3.0 for中,删除我可以使用的副本 int[] ints={1,1,2,34,5,6,7,5,11,13}; List<int> integes = new List<int>(); List<int> filter = new List<int>(); integes.AddRange(ints); filter = integes.Distinct().ToList
int[] ints={1,1,2,34,5,6,7,5,11,13};
List<int> integes = new List<int>();
List<int> filter = new List<int>();
integes.AddRange(ints);
filter = integes.Distinct().ToList();
filter.ForEach((i)=> { Console.WriteLine(i); });
int[]int={1,1,2,34,5,6,7,5,11,13};
列表整数=新列表();
列表过滤器=新列表();
整数.AddRange(整数);
filter=integes.Distinct().ToList();
filter.ForEach((i)=>{Console.WriteLine(i);});
ASP.NET 2.0中也有类似的快捷方式。循环。添加.AddRange的整数并检查循环中的整数.Contains(int)。您的意思是这样的吗
integes.ForEach(delegate(int i) {if(!filter.Contains(i)) {filter.Add(i);}});
同样,为什么(…){…}是邪恶的,而是列表。ForEach(…)
是好的?谢谢!(Lorem ipsum,需要15个字符)请注意,如果没有重复项,则此解决方案为O(n^2)。如果列表很小或包含大量重复项,则速度会相当快,但如果列表很大且重复项很少,则其时间性能将不可避免地非常糟糕。如果您处于这种情况,请考虑使用哈希表来检查重复;哈希表针对重复检测进行了高度优化。