在LINQ查询中合并

时间:2015-08-24 10:27:19

标签: c# linq entity-framework entity-framework-6

我有这些代码:

var result = new Collection<object>();

result.Add(list.Select(s => new
               {
                   s.ID,
                   s.Users
               })
           );

用户是一个集合,这意味着它可以包含多个名称,例如"John", "Rick", "Tom"等。我想将其合并为一个string "John, Rick, Tom"。知道如何实现这个结果吗?

谢谢

更新:

答案

var result = new Collection<object>();

result.Add(list.Select(s => new
               {
                   s.ID,
                   Users = string.Join(",", s.Users)
               })
           );

2 个答案:

答案 0 :(得分:0)

直接从您的代码中,转到

更容易
result.Add(list.Select(s => new
                {s.ID, string.Join(",",s.Users)}));

这应该返回一个带ID的对列表,并加入由“,”分隔的用户字符串。

答案 1 :(得分:0)

如果Users是List,您可以使用以下代码:

var result = new Collection<object>();

result.Add(list.Select(s => new
               {
                   s.ID,
                   string.Join(",", s.Users.ToArray())   
               })
           );

另外,您可以查看类似的问题:C# List to string with delimiter