我有一个清单:List<MyClass> MyList = new List<MyClass>();
。
MyClass
有方法SetBool
和IsTrue
. 我必须将此列表中的每个对象都设置为 false ( obj.SetBool(false)
)。
有两种可能的方式:
第一的:
foreach (MyClass obj in MyList)
{
obj.SetBool(false)
}
第二:
List<MyClass> MyList2 = MyList.Where(c => c.IsTrue()).ToList();
foreach (MyClass obj in MyList2)
{
obj.SetBool(false)
}
如果我使用第一个它可能会很慢,因为它会改变每个元素。第二种方式也可能很慢,因为它必须先找到对象。
所以我的问题是:哪一个会更快(我的列表中可能有非常多的元素),为什么?