Dictionary<string, Student> dic = new Dictionary<string, Student>();


Data[] data = GetData();

foreach(Data d in data)
{
if(dic.ContainsKey(d.Name) == false)
{
dic.Add(d.Name, new Student(d.Name, d.Subject, d.Point));
}
else
{
dic[d.Name].AddResult(d.Subject, d.Point);
}
}

こんなんかね