我正在寻找使用C#
通过循环执行与上次迭代不同的基本语法答案 0 :(得分:4)
没有特殊的语法。
这是一种可行的方法:
for (int i = 0; i < n; ++i)
{
if (i == n - 1)
{
// Something special that must be done before the last iteration
}
// Normal iteration
}
答案 1 :(得分:2)
什么样的收集?
假设它来自Count
的{{1}}属性:
ICollection
对于所有其他人,您可以使用Enumerable.Count
方法执行查询并枚举它们以确定计数(如果类型可以转换为for(int i=0; i < col.Count; i++)
{
if(i == col.Count-1)
{
// ...
}
}
它将使用ICollection<T>
属性):< / p>
Count
答案 2 :(得分:0)
通常,对于T
,
bool waitingForOne = true;
T last = default(T);
foreach (T t in MySequenceOfT) // or for over whole collection or while...
{
if (!waitingForOne)
doSomethingWith(last);
else
waitingForOne = false;
last = t;
}
if (!waitingForOne)
doSomethingElseWith(last);
我们的想法是,在每次迭代中,您都会保留当前项,并对上一个项执行操作(如果有的话)。最后,您在 last 项目中执行 else 。
答案 3 :(得分:0)
var collection = new[] { "1", "2", "3" };
for (var i = collection.Length - 2; i > -1; i--)
{
// do something with
var element = collection[i];
}
// now do something with
var last = collection.Last();