リストがあります: List<MyClass> MyList = new List<MyClass>();
.
MyClass
メソッドSetBool
とがありIsTrue
ます。このリストのすべてのオブジェクトを false ( obj.SetBool(false)
) に設定する必要があります。
次の 2 つの方法があります。
初め:
foreach (MyClass obj in MyList)
{
obj.SetBool(false)
}
2番:
List<MyClass> MyList2 = MyList.Where(c => c.IsTrue()).ToList();
foreach (MyClass obj in MyList2)
{
obj.SetBool(false)
}
最初のものを使用すると、すべての要素が変更されるため、遅くなる可能性があります。2 番目の方法も、最初にオブジェクトを見つける必要があるため、遅くなる可能性があります。
だから私の質問は次のとおりです。どちらが高速になりますか(リストに非常に多くの要素がある可能性があります)、なぜですか?