通过逗号分隔将listItems分配给单个字符串

时间:2018-02-23 14:06:45

标签: c# asp.net join listitem

我有一个listItems我要分配给一个字符串。所以我试过以下

for (int i = 0; i < LocationDetails.Count; i++)
{
    strMaintZone = String.Join(",", LocationDetails[i].LocationID);
}

但它没有被分配,它需要最后一个值。如何将值分配给字符串。

2 个答案:

答案 0 :(得分:2)

LINQ在这里很有帮助。您应该将IEnumerable<string>传递给string.Join方法。 IEnumerable<string>可以由LINQ Select子句生成。

strMaintZone = string.Join(",", LocationDetails.Select(item => item.LocationID));

在您的示例问题中,您每次都会覆盖strMaintZone的值,因此您将只拥有最后一个元素。

答案 1 :(得分:2)

您无需循环浏览列表。 只需将集合传递给String.Join的第二个参数,如下所示:

  strMaintZone = String.Join(",", LocationDetails.Select(x=>x.LocationID));

LocationDetails.Select(x =&gt; x.LocationID)返回LocationIDs(“1”,“2”..)的集合,该集合传递给String.Join()第二个参数。