当前位置:  开发笔记 > 编程语言 > 正文

检查通用列表内容的最佳方法

如何解决《检查通用列表内容的最佳方法》经验,为你挑选了1个好方法。

我必须处理一些使用通用列表来存储自定义对象集合的代码.

然后它执行类似下面的操作来检查集合中的给定对象是否存在并执行某些操作(如果是):

List customObjects;
//fill up the list
List anotherListofCustomObjects;
//fill it up

//...

foreach (CustomObject myCustomObject in customObjects)
{
   if (anotherListofCustomObjects.Contains(myCustomObject))
   {
      //do stuff
   }
}

问题是永远处理7000个这样的对象.

这不是我的代码 - 我只是试图提出改进它的选项 - 在我看来,使用字典来获取密钥更快,而不是像上面那样循环遍历整个集合.

建议?



1> Frans Bouma..:

除了字典之外,另一种方法是,如果你在.NET 3.5上,使用Linq来对象和相交:

foreach(CustomObject c in customObjects.Intersect(anotherListOfCustomObjects))
{
    // do stuff.
}

根据反射器,它使用基于散列的集合来执行序列的交集.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有