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

Assigning listItems to single string by comma separated

我有一个 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) returns 传递给 String.Join() 的 LocationIDs("1","2"..) 集合第二个参数。