C# 通过逗号分隔将listItems分配给单个字符串
我有一个C# 通过逗号分隔将listItems分配给单个字符串,c#,asp.net,join,listitem,C#,Asp.net,Join,Listitem,我有一个列表项,我想分配给一个字符串。所以我试着像下面一样 for (int i = 0; i < LocationDetails.Count; i++) { strMaintZone = String.Join(",", LocationDetails[i].LocationID); } for(int i=0;ix.LocationID)返回LocationID(“1”、“2”)的集合,该集合被传递给String.Join()第二个参数。您不需要在列表中循环。 只需将集合传递
列表项
,我想分配给一个字符串。所以我试着像下面一样
for (int i = 0; i < LocationDetails.Count; i++)
{
strMaintZone = String.Join(",", LocationDetails[i].LocationID);
}
for(int i=0;i
但是它没有被赋值,它取最后一个值。如何将值分配给字符串。LINQ在这里很有用。您应该将
IEnumerable
传递给string.Join
方法。IEnumerable
可以通过LINQSelect
子句生成
strMaintZone = string.Join(",", LocationDetails.Select(item => item.LocationID));
在您的示例中,问题是您每次都重写
strMaintZone
的值,因此您将只拥有最后一个元素。LINQ在这里可能会有所帮助。您应该将IEnumerable
传递给string.Join
方法。IEnumerable
可以通过LINQSelect
子句生成
strMaintZone = string.Join(",", LocationDetails.Select(item => item.LocationID));
在您的示例中,问题是您每次都会重写strMaintZone的值,因此只有最后一个元素。您不需要在列表中循环。 只需将集合传递给字符串的第二个参数。如下所示进行连接:
strMaintZone = String.Join(",", LocationDetails.Select(x=>x.LocationID));
LocationDetails.Select(x=>x.LocationID)返回LocationID(“1”、“2”)的集合,该集合被传递给String.Join()第二个参数。您不需要在列表中循环。 只需将集合传递给字符串的第二个参数。如下所示进行连接:
strMaintZone = String.Join(",", LocationDetails.Select(x=>x.LocationID));
LocationDetails.Select(x=>x.LocationID)返回传递给String.Join()的LocationID的集合(“1”,“2”。)第二个参数。@PeterB:
LocationDetails
的值类似于List lstUMSLocationDetails
,它有2个parameters@PeterB:LocationDetails
具有类似于List lstUMSLocationDetails
的值,该值有两个参数可以在没有循环的情况下执行??是的,您不需要执行循环。只要把你的收藏传给String.Joinyes也试过了,效果非常好。。什么是选择这里的??任何具体的原因是,看看系统。Linq
名称空间Select
是一个投影,您从原始集合中获取一个元素并将其投影为另一个元素。我们可以不使用循环吗?是的,您不需要使用循环。只要把你的收藏传给String.Joinyes也试过了,效果非常好。。什么是选择这里的??任何特定的原因是,请看一下System.Linq
namespaceSelect
是一个投影,您从原始集合中获取一个元素,并将其投影为另一个元素。