我有这段代码:
foreach (Object element in elements.under)
{
...
}
我想在我进入最后一个周期时打印一些。 我该怎么办?
答案 0 :(得分:6)
您需要跟踪计数器,然后检查最后一个元素 -
int i = 1;
foreach (Object element in elements.under)
{
if (i == elements.under.Count) //Use count or length as supported by your collection
{
//last element
}
else
{ i++; }
}
答案 1 :(得分:5)
foreach (Object element in elements.under)
{
if (element == elements.under.Last())
{
//Print Code
}
else
{
//Do other thing here
}
}
答案 2 :(得分:3)
这样的答案可以解决你想要的问题
How do you find the last loop in a For Each (VB.NET)?
也检查这个库 Enumerating with extra info in the Miscellaneous Utility Library
foreach (SmartEnumerable<string>.Entry entry in
new SmartEnumerable<string>(list))
{
Console.WriteLine ("{0,-7} {1} ({2}) {3}",
entry.IsLast ? "Last ->" : "",
entry.Value,
entry.Index,
entry.IsFirst ? "<- First" : "");
}
基于以上库链接的代码
答案 3 :(得分:0)
您可以尝试以下简单代码
foreach (object obj in allObjects)
{
if (obj != allObjects.Last())
{
// Do some cool stufff..
} else
{
// Go Normal Way
}
}