c# – 从集合中收集数据时,我应该使用简单的foreach或Linq吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 从集合中收集数据时,我应该使用简单的foreach或Linq吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含815字,纯文字阅读大概需要2分钟。
内容图文
对于一个简单的例子,其中类foo有一个成员i,并且我有一组foos,比如IEnumerable< Foo> foos,我想最终得到foo的成员i的集合,比如List< TypeOfi>结果.
问题:是否最好使用foreach(下面的选项1)或某种形式的Linq(下面的选项2)或其他方法.或者,或许,它甚至不值得我自己(仅选择我个人的偏好).
选项1:
foreach (Foo foo in foos)
result.Add(foo.i);
选项2:
result.AddRange(foos.Select(foo => foo.i));
对我来说,选项2看起来更干净,但我想知道Linq是否因为这么简单的foreach循环可以实现的东西太过沉重.
寻找所有意见和建议.
解决方法:
我更喜欢第一种选择.但是,除非有理由预先创建List< T>.并使用AddRange,我会避免它.就个人而言,我会使用:
List<TypeOfi> results = foos.Select(f => f.i).ToList();
另外,我不一定会使用ToList(),除非你真的需要一个真正的List< T>,或者需要强制执行立即而不是延迟.如果你只需要迭代“i”值的集合,我会简单地使用:
var results = foos.Select(f => f.i);
内容总结
以上是互联网集市为您收集整理的c# – 从集合中收集数据时,我应该使用简单的foreach或Linq吗?全部内容,希望文章能够帮你解决c# – 从集合中收集数据时,我应该使用简单的foreach或Linq吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。