我创建了一个名为Impacts的类:
public class Impacts {
public Impacts(string _Source, int _Number, string _Target) {
this.Source = _Source;
this.Number = _Number;
this.Target = _Target;
}
}
Run Code Online (Sandbox Code Playgroud)
并创建了这个类的列表:
List<Impacts> ListOfImpacts = new List<Impacts>();
Run Code Online (Sandbox Code Playgroud)
然后,我在创建的列表中添加了项目:
ListOfImpacts.Add(new Impacts("a" , 1 , "b")); //record 1
ListOfImpacts.Add(new Impacts("c" , 1 , "d")); //record 2
ListOfImpacts.Add(new Impacts("d" , 1 , "a")); //record 3
ListOfImpacts.Add(new Impacts("d" , 1 , "a")); //record 4
ListOfImpacts.Add(new Impacts("d" , 1 , "a")); //record 5
Run Code Online (Sandbox Code Playgroud)
我想把记录3和记录4和记录5结合起来,因为它们具有相同的"Source"="d"和相同的"Target"="a",所以我可以:
new Impacts("d", 3 , "a"); // 3 is the number of iterations of this record
Run Code Online (Sandbox Code Playgroud)
并删除三个重复的记录.
有人能帮我吗?
var newList = ListOfImpacts.GroupBy(g => new {g.Source, g.Target})
.Select(g => new Impacts(g.Key.Source, g.Count(), g.Key.Target))
.ToList();
Run Code Online (Sandbox Code Playgroud)
实例:http://rextester.com/XOIYM52525
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |