2

Impacts という名前のクラスを作成しました。

public class Impacts {
    public Impacts(string _Source, int _Number, string _Target) { 
        this.Source = _Source; 
        this.Number = _Number; 
        this.Target = _Target; 
    }
}

そして、このクラスのリストを作成しました:

List<Impacts> ListOfImpacts = new List<Impacts>();

そして、作成したリストに項目を追加しました:

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

同じ "Source"="d" と同じ "Target"="a" を持っているので、レコード 3 とレコード 4 とレコード 5 を結合したいので、次のようにします。

new Impacts("d", 3 , "a"); // 3 is the number of iterations of this record 

3 つの繰り返しレコードを削除します。

誰かが私を助けることができますか?

4

2 に答える 2

7
var newList = ListOfImpacts.GroupBy(g => new {g.Source, g.Target})
            .Select(g => new Impacts(g.Key.Source, g.Count(), g.Key.Target))
            .ToList();

実際の例: http://rextester.com/XOIYM52525

于 2012-09-05T10:58:00.030 に答える
2
            var newList = ListOfImpacts
            .GroupBy(i => new { i.Source, i.Target })
            .Select(i => new Impacts(i.Key.Source, i.Sum(x => x.Number), i.Key.Target))
            .ToList();
于 2012-09-05T10:59:38.553 に答える