性能 - 在使用foreach循环之前检查列表是否为空

Que*_*n3r 5 c# foreach unity-game-engine

在Unity中使用foreach循环时,我需要在update方法中调用它.所以每帧调用一次......

我想知道,如果最好在使用foreach循环之前检查列表的计数,或者它是多余的.

所以我有

if (myList.Count > 0)
{
    foreach (Type type in myList)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

    foreach (Type type in myList) // no need for a check before
    {
    }
Run Code Online (Sandbox Code Playgroud)

我也可以用

for (int i = 0; i < myList.Count; i++) // use a for loop instead
{
    myList[i].DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*ruz 6

如果列表为空,除非你需要一些特定的逻辑,否则if语句肯定是多余的.在foreach循环中,如果没有数据 - 它只是不执行循环.

然而,这或多或少是对最佳实践而非性能的关注.影响几乎不存在; 但是,我认为至少要意识到这些类型的东西我的想法从来都不错.