LINQ查询中的合并

本文关键字:合并 查询 LINQ | 更新日期: 2023-09-27 18:09:36

我有这些代码:

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

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)
               })
           );

LINQ查询中的合并

直接从代码中进入

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

这将返回一个带有ID的pair列表,以及由","分隔的用户连接字符串。

如果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