列表中的第一个或最后一个元素<>;在foreach循环中
本文关键字:gt foreach 循环 lt 元素 第一个 最后一个 列表 | 更新日期: 2023-09-27 17:58:39
我有一个List<string>
,我想标识列表中的第一个或最后一个元素,这样我就可以标识与该项相关的不同函数。
例如。
foreach (string s in List)
{
if (List.CurrentItem == (List.Count - 1))
{
string newString += s;
}
else
{
newString += s + ", ";
}
}
如何定义List.CurrentItem
?在这种情况下,for
循环会更好吗?
使用String.Join
连接指定数组的元素或集合,在每个元素之间使用指定的分隔符或成员
它要简单得多。
类似的东西
string s = string.Join(", ", new List<string>
{
"Foo",
"Bar"
});
您可以使用基于linq的解决方案
示例:
var list = new List<String>();
list.Add("A");
list.Add("B");
list.Add("C");
String first = list.First();
String last = list.Last();
List<String> middle_elements = list.Skip(1).Take(list.Count - 2).ToList();
您可以使用类似的计数器
int counter = 0 ;
foreach (string s in List)
{
if (counter == 0) // this is the first element
{
string newString += s;
}
else if(counter == List.Count() - 1) // last item
{
newString += s + ", ";
}else{
// in between
}
counter++;
}
试试这样的东西:
string newString = "";
foreach (string s in List)
{
if( newString != "" )
newString += ", " + s;
else
newString += s;
}