首页 / C# / c# – 循环列表的更好方法
c# – 循环列表的更好方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 循环列表的更好方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1290字,纯文字阅读大概需要2分钟。
内容图文
所以我有几个不同的列表,我正在尝试处理并合并到1个列表中.
下面是一段代码,我想看看是否有更好的方法.
我之所以要问的是,其中一些列表相当大.我想看看是否有更有效的方法来做到这一点.
正如您所看到的,我正在遍历列表,我要做的第一件事就是检查列表中是否存在CompanyId.如果是,那么我在列表中找到我要处理的项目.
pList是我的processign列表.我将不同列表中的值添加到此列表中.
我想知道是否有一种“更好的方式”来完成存在和发现.
boolean tstFind = false;
foreach (parseAC item in pACList)
{
tstFind = pList.Exists(x => (x.CompanyId == item.key.ToString()));
if (tstFind == true)
{
pItem = pList.Find(x => (x.CompanyId == item.key.ToString()));
//Processing done here. pItem gets updated here
...
}
正如旁注,我将研究一种使用连接的方法,看看它是否更快.但我还没到那儿.上面的代码是我第一次解决这个问题,它似乎工作.但是,因为我有时间想看看是否还有更好的方法.
任何输入都非常感谢.
时间调查结果:
>我当前的查找和存在代码大约需要84分钟来遍历pACList中的5.5M项目.
>使用pList.firstOrDefault(x => x.CompanyId == item.key.ToString());花费54分钟来循环访问pACList中的5.5M项目
解决方法:
您可以使用FirstOrDefault检索项目,而不是两次搜索项目(第一次定义是否存在项目,第二次获取现有项目):
var tstFind = pList.FirstOrDefault(x => x.CompanyId == item.key.ToString());
if (tstFind != null)
{
//Processing done here. pItem gets updated here
}
内容总结
以上是互联网集市为您收集整理的c# – 循环列表的更好方法全部内容,希望文章能够帮你解决c# – 循环列表的更好方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。