这在条件循环中更有效
本文关键字:有效 循环 条件 | 更新日期: 2023-09-27 18:31:55
假设我有以下集合
IEnumerable<car> cars = new IEnumerable<car>();
现在我需要循环这个集合。
我需要根据汽车类型做一些功能;所以我可以做以下方法之一:
方法一:
foreach( var item in cars){
if(item.color == white){
doSomething();
}
else{
doSomeOtherThing();
}
}
或者另一种方式:
方法B:
foreach( var item in cars.where(c=>c.color==white)){
doSomething();
}
foreach( var item in cars.where(c=>c.color!=white)){
doSomeOtherthing();
}
对我来说,我认为方法A更好。 我只在集合上循环一次而方法B似乎很诱人。框架将为您循环和筛选集合。
那么哪种方法更好更快呢?
嗯,这取决于过滤过程的复杂程度。它可能非常高效,以至于无关紧要,特别是考虑到您不再需要使用 if
语句进行自己的过滤。
我要说一件事:除非你的收藏量很大,否则它可能不会产生足够的影响。而且,有时,最好优化可读性而不是速度:-)
但是,如果你真的想知道,你测量!使用合适的类似生产的测试数据对环境中的操作进行计时。这是确定的唯一方法。
方法
A 比方法 B 更具可读性。只有一个问题,是car.color还是item.color?