我有一个listItems
我要分配给一个字符串。所以我试过以下
for (int i = 0; i < LocationDetails.Count; i++)
{
strMaintZone = String.Join(",", LocationDetails[i].LocationID);
}
但它没有被分配,它需要最后一个值。如何将值分配给字符串。
答案 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()第二个参数。