我在一个列表中检索了很多信息,链接到一个数据库,我想创建一个组的字符串,为连接到网站的人。
我用这个来测试,但它不是动态的,所以它真的很糟糕:
string strgroupids = "6";
我现在想用这个。但是返回的字符串是1 2 3 4 5,
groupIds.ForEach((g) =>
{
strgroupids = strgroupids + g.ToString() + ",";
strgroupids.TrimEnd(',');
});
strgroupids.TrimEnd(new char[] { ',' });
我想删除5后面的,但这显然不行。
string strgroupids = string.Empty;
groupIds.ForEach(g =>
{
strgroupids = strgroupids + g.ToString() + ",";
});
strgroupids = strgroupids.Substring(0, strgroupids.Length - 1);
注意,在这里使用ForEach通常被认为是“错误的”(例如http://blogs.msdn.com/b/ericlippert/archive/2009/05/18/foreach-vs-foreach.aspx)
使用一些LINQ:
string strgroupids = groupIds.Aggregate(string.Empty, (p, q) => p + q + ',');
strgroupids = strgroupids.Substring(0, str1.Length - 1);
没有end-substringing:
string strgroupids = groupIds.Aggregate(string.Empty, (p, q) => (p != string.Empty ? p + "," + q : q.ToString()));