using System.Collections.Generic;
public int Nota { get; set; }
public int IdALuno { get; set; }
public static void Main()
List<Semestre> semestre1 = new List<Semestre>();
semestre1.Add(new Semestre{IdALuno = 1, Nota = 5});
semestre1.Add(new Semestre{IdALuno = 2, Nota = 4});
semestre1.Add(new Semestre{IdALuno = 3, Nota = 3});
semestre1.Add(new Semestre{IdALuno = 5, Nota = 3});
List<Semestre> semestre2 = new List<Semestre>();
semestre2.Add(new Semestre{IdALuno = 1, Nota = 4});
semestre2.Add(new Semestre{IdALuno = 3, Nota = 5});
semestre2.Add(new Semestre{IdALuno = 4, Nota = 2});
semestre2.Add(new Semestre{IdALuno = 6, Nota = 3});
List<Semestre> result = new List<Semestre>();
result.AddRange(semestre1);
result.AddRange(semestre2);
result = result.GroupBy(x => x.IdALuno)
.Select(x => new Semestre
Nota = x.Sum(y => y.Nota)
foreach (var item in result)
Console.WriteLine($"idALuno: {item.IdALuno} / Nota: {item.Nota}");