如何在foreach循环中验证元素是否在集合中的最后?

Ale*_*voi 3 c# foreach if-statement

我有一个foreach循环,我需要验证该元素是否是我正在迭代的集合中的最后一个.我尝试过的:

foreach (var character in list) // list is of type `string` 
{
    if (character == list.Last())
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,如果我"la la la"if语句将执行在第二字符.

问题:如何编写if语句,以便在访问序列的最后一个元素时执行该语句?

Jam*_*mes 11

我建议迭代使用索引而不是对象引用,即

for (int i = 0; i <= list.Count-1; i++)
{
    if (i == list.Count-1)
    {
        // so something special with last item
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 或者只处理循环中最后一个以外的所有内容并在循环外进行处理? (2认同)