c#如何在foreach语句中获取最后一次?

标签 c# .net

<分区>

Possible Duplicate:
Foreach loop, determine which is the last iteration of the loop

foreach (DataRowView row in orderedTable.DefaultView)
{
    if(lasttime) do-something;
}

orderedtable 是一个数据表

有谁知道如何确定我们是否在最后一次 foreach 迭代中?请记住,我在 orderedtable 中确实有重复项

最佳答案

适用于所有 情况的正确方法是使用IEnumerator<T>直接:

using (var enumerator = orderedTable.DefaultView.GetEnumerator())
{
    if (enumerator.MoveNext())
    {
        bool isLast;
        do
        {
            var current = enumerator.Current;
            isLast = !enumerator.MoveNext();
            //Do stuff here
        } while (!isLast);
    }
}

即使您的收藏没有 Count,此方法也有效属性,即使是这样,如果 Count,此方法也会更有效属性很慢。

关于c#如何在foreach语句中获取最后一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4717120/

相关文章:

c# - 找不到给定字符时拆分字符串时的错误结果

c# - 如何使 rowIndex 在 gridview 分页中的所有页码中按顺序增加?

c# - 根据环境更改 SOAP 操作 URI

c# - 对 OnMethodBoundaryAspect 中的类属性的引用

c# - SaveAs 方法配置为需要有根路径,而路径 'fp' 没有根

javascript - 使用 ajax 在本地主机内将数据从客户端发送到客户端

c# - 获取日历事件时如何解决 "Microsoft.graph.serviceexception code generalexceptionmessage an error occurred sending the request"?

c# - 带有 Monodroid 的 3D 模型

.net - 使用 .NET 在 Windows 上获取实际文件名(使用适当的大小写)

.net - 在 IIS 中修改 Access-Control-Allow-Origin header