我有一个包含 List<string>
的自定义数据类型.
我想分组 List
的 CustomDataType
通过那个嵌套 List<string>
.
我试过以下方法
compoundSchedules.GroupBy(a => a.Timepoints);
在哪里Timepoints
是以字符串表示的日期列表。哪里有CustomDataType
s 具有相同的时间点,我希望将它们组合在一起。
使用上面的代码,它不会对它们进行分组,而只是重复 List
的 CustomDataType
其时间点列表为 IGrouping
Key
.
谢谢。
最佳答案
您应该创建一个 IEqualityComparer<List<string>>
检查列表是否具有相同的长度和内容,并使用 Enumerable.GroupBy
的重载:
compoundSchedules.GroupBy(a => a.Timepoints, myComparer);
或者创建您自己的类作为时间点列表,并让它实现 GetHashCode
和 Equals
(和/或实现 IEquatable<T>
),由 default comparer 使用.
关于c# - 如何通过该嵌套列表对具有 List<string> 属性的 List<T> 进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11398320/