我正在编写一个litle c#应用程序,该应用程序从一个来源提取信息并将其打印到txt文件中。但是在订购信息时我遇到了一个问题。我有一个这样的元组列表:
List<Tuple<string,string,string>>
在此列表中,我具有如下元素:
(SomeName1, SomeID1, Description1)
(SomeName2, SomeID2, Description1)
(SomeName3, SomeID3, Description1)
(SomeName4, SomeID4, Description1)
(SomeName5, SomeID5, Description1)
(SomeName6, SomeID6, Description2)
(SomeName7, SomeID7, Description2)
(SomeName8, SomeID8, Description2)
(SomeName9, SomeID9, Description2)
等等。正如我们所看到的,名称和ID始终是唯一的。尽管对于几个元件的描述是相同的。我想要的是对列表进行分组,或者根据其描述将列表中的元素提取到其他几个列表中。因此,例如,我从上面的列表中获得了两个listst。其中列表1将包含以下内容:
(SomeName1, SomeID1, Description1)
(SomeName2, SomeID2, Description1)
(SomeName3, SomeID3, Description1)
(SomeName4, SomeID4, Description1)
(SomeName5, SomeID5, Description1)
而清单二将包含以下内容:
(SomeName6, SomeID6, Description2)
(SomeName7, SomeID7, Description2)
(SomeName8, SomeID8, Description2)
(SomeName9, SomeID9, Description2)
关于如何获得此功能的任何建议?假设我不知道描述是什么,也不知道它们有多少种不同的描述。最佳解决方案是,如果我可以让list1首先在索引0处显示描述,然后在以下索引处显示名称,id和描述。但是我可以找到我想的自我。我无法工作的是根据描述来分组/拆分大列表,我将尽我所能获得的所有帮助。提前致谢!
var result = input.GroupBy(t=>t.Item3, (key,items)=>items.ToList()).ToList();
//
//list1 = result[0];
//list2 = result[1]; ...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句