LINQ挑战赛

not*_*lkk 3 c# linq

我有这样的结构:

 public struct MyStruct
 {
     public string Name;
     public bool Process;
 }
Run Code Online (Sandbox Code Playgroud)

我有一个myStruct列表,如下所示:

"123",是的

"123",假

"234",是的

"345",不对

"456",是的

"456",不对

我希望能够使用LINQ返回这样的列表:

"123",假

"234",是的

"345",不对

"456",不对

所以基本上我想要的结果是一个不同名称的列表("123","234",...等)以及布尔标志,如果名称重复,我需要对标志进行"AND"操作.

使用单个LINQ语句有一种简单的方法吗?

Tim*_*mwi 10

var result = input.GroupBy(e => e.Name)
                  .Select(gr => new { Name = gr.Key,
                                      All = gr.All(e => e.Process) });
Run Code Online (Sandbox Code Playgroud)