通过逗号分隔将 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"..) 集合第二个参数。
我有一个 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"..) 集合第二个参数。