1

列挙する直前に列挙で.Any()を呼び出すことの利点はありますか?例(そのリストがIEnumerableであることを許可):

if(list != null && list.Any()) 
{
    foreach(var item in list) 
    {
        // do stuff
    }
}

何もないのではないかと思いますが、確かに。

4

3 に答える 3

2

Any本当のメリットはありませんが、 2回列挙する可能性があるため、ここに電話することにはマイナス面が生じる可能性があります。

nullチェックで十分です。foreachが残りの処理を行います。

于 2013-02-10T16:01:19.797 に答える
0

いいえ、そうではありません。リストが空の場合、foreachループは単純に繰り返されません。

if(list != null) 
{
    foreach(var item in list) 
    {
        // do stuff
    }
}
于 2013-02-10T16:01:48.297 に答える
0

いいえ、本当のメリットはありません。

リストがnullではなく空の場合、foreachは問題ありません(つまり、例外をスローせず、空のリストを列挙しません)。nullチェックを行うだけで十分です。

于 2013-02-10T16:02:30.443 に答える