我有一个foreach循环,需要在从中选择最后一项时执行一些逻辑List,例如:
foreach (Item result in Model.Results)
{
//if current result is the last item in Model.Results
//then do something in the code
}
Run Code Online (Sandbox Code Playgroud)
如果不使用for循环和计数器,我可以知道哪个循环是最后的吗?
有没有办法确定循环是否最后一次迭代.我的代码看起来像这样:
int[] array = {1, 2, 3...};
StringBuilder builder = new StringBuilder();
for(int i : array)
{
builder.append("" + i);
if(!lastiteration)
builder.append(",");
}
Run Code Online (Sandbox Code Playgroud)
现在问题是我不想在最后一次迭代中附加逗号.现在有一种方法可以确定它是最后一次迭代还是我坚持使用for循环或使用外部计数器来跟踪.
Ruby/Rails在谈到基本用品的糖时会做很多很酷的事情,我认为有一种非常常见的情况,我想知道是否有人做过帮手或类似的东西.
a = Array.new(5, 1)
a.each_with_index do |x, i|
if i == 0
print x+1
elsif i == (a.length - 1)
print x*10
else
print x
end
end
Run Code Online (Sandbox Code Playgroud)
原谅丑陋,但这可以达到人们想要的......是否有一种红宝石的方式来对循环的第一个和最后一个做一些事情?
[编辑]我认为理想情况下这将是带有参数的数组的扩展(数组实例,所有元素函数,第一个元素函数,最后元素函数)......但我对其他想法持开放态度.
我在做简单的文本处理和打印语句时经常遇到这种情况,我循环一个集合,我想要特殊情况下的最后一个元素(例如,除了最后一个例子,每个普通元素都将以逗号分隔).
是否有一些最佳实践习惯或优雅的形式,不需要复制代码或在if循环中推..
例如,我有一个字符串列表,我想在逗号分隔列表中打印.(虽然解决方案已经假设列表中有2个或更多元素,否则它就像使用条件的更正确的循环一样糟糕).
例如List =("dog","cat","bat")
我想打印"[狗,猫,蝙蝠]"
我提出了两种方法
对于有条件的循环
public static String forLoopConditional(String[] items) {
String itemOutput = "[";
for (int i = 0; i < items.length; i++) {
// Check if we're not at the last element
if (i < (items.length - 1)) {
itemOutput += items[i] + ", ";
} else {
// last element
itemOutput += items[i];
}
}
itemOutput += "]";
return itemOutput;
}
Run Code Online (Sandbox Code Playgroud)做循环启动循环
public static String doWhileLoopPrime(String[] items) {
String itemOutput = "[";
int i …Run Code Online (Sandbox Code Playgroud)我有这个代码:
foreach (Object element in elements.under)
{
...
}
Run Code Online (Sandbox Code Playgroud)
而且我想在我进入最后一个周期时打印一些.我该怎么做?
我的应用程序中有一个循环.代码如下: -
foreach (DataRow dr in dt.Rows)
ColorNames +=dr["ColorName"].ToString() + "\n";
Run Code Online (Sandbox Code Playgroud)
但我不想\n在最后添加Datarow.有什么建议怎么办?