我有一个List<string>
,我想识别列表中的第一个或最后一个元素,这样我就可以识别出与该项目不同的函数。
例如
foreach (string s in List)
{
if (List.CurrentItem == (List.Count - 1))
{
string newString += s;
}
else
{
newString += s + ", ";
}
}
我如何定义List.CurrentItem
?在这种情况下,for
循环会更好吗?
答案 0 :(得分:8)
而是使用String.Join
连接指定数组的元素或a的成员 集合,使用每个元素之间的指定分隔符或 构件。
这简单得多。
像
这样的东西 string s = string.Join(", ", new List<string>
{
"Foo",
"Bar"
});
答案 1 :(得分:1)
您可以使用基于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();
答案 2 :(得分:0)
尝试这样的事情:
string newString = "";
foreach (string s in List)
{
if( newString != "" )
newString += ", " + s;
else
newString += s;
}
答案 3 :(得分:0)
你可以像这样使用计数器
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++;
}