我有一个listItems
,我想分配给一个字符串。所以我尝试如下
for (int i = 0; i < LocationDetails.Count; i++)
{
strMaintZone = String.Join(",", LocationDetails[i].LocationID);
}
但它没有被分配,它需要最后一个值。如何将值分配给字符串。
LINQ在这里很有帮助。你应该将IEnumerable<string>
传递给string.Join
方法。 IEnumerable<string>
可以由LINQ Select
条款制作。
strMaintZone = string.Join(",", LocationDetails.Select(item => item.LocationID));
在你的例子中,问题是你每次都覆盖strMaintZone
的值,结果你只有最后一个元素。
你不需要遍历你的列表。只需将集合传递给String.Join的第二个参数,如下所示:
strMaintZone = String.Join(",", LocationDetails.Select(x=>x.LocationID));
LocationDetails.Select(x => x.LocationID)返回LocationIDs(“1”,“2”..)的集合,该集合传递给String.Join()第二个参数。