Tôi có phần thưởng lớp mà tôi giữ tiền của người dùng cho mỗi trò chơi. Tôi có hai danh sách bằng cách nào đó tôi cần phải concate. Tôi viết danh sách mẫu và kết quả mong muốn bên dưới.Hợp nhất hai danh sách dựa trên khóa C#
public class Reward
{
public int Game { get; set; }
public int User { get; set; }
public int Money { get; set; }
public Reward Merge(Reward p)
{
return new Reward { Game = this.Game, User = this.User, Money = this.Money + p.Money};
}
}
IList<Reward> list1 = new List<Reward>();
list1.Add(new Reward {Game = 1, User = 1, Money = 10});
list1.Add(new Reward { Game = 1, User = 2, Money = 20 });
list1.Add(new Reward { Game = 1, User = 3, Money = 30 });
IList<Reward> list2 = new List<Reward>();
list2.Add(new Reward { Game = 2, User = 1, Money = 15 });
list2.Add(new Reward { Game = 2, User = 2, Money = 25 });
list2.Add(new Reward { Game = 2, User = 4, Money = 35 });
Bảng huy chương nên
User Money
1 25
2 45
3 30
4 35
tôi cố gắng
IList<Reward> listConcat = list1.Concat(list2)
.GroupBy(u=> u.User)
.Select(???)
.ToList();
nhưng làm thế nào?
+1 chỉ để làm cho nó dễ đọc hơn phần còn lại –