【发布时间】:2014-05-06 15:16:25
【问题描述】:
我的教室里挤满了学生,我使用此代码跟踪了他们完成了哪些活动以及他们在每项活动中取得的分数:
public class TrackActivity
{
public String StudentName {get; set;}
public String ActivityName {get; set;}
public int ActivityScore {get; set;} // out of 10 points
}
我目前有一个名为 lstTrackScores 的“TrackActivity”列表,例如:
Barbara, juggling, 9
Barbara, cycling, 7
Chris, cycling, 9
Dennis, juggling, 8
Dennis, cycling, 6
Dennis, archery, 10
我事先不知道我的列表中有多少独特的学生,但我确实会在运行时找出每个学生可以参加的最大活动数量。如何在数据网格中显示上述信息独特学生的数量作为行数(这里,3:芭芭拉、克里斯和丹尼斯),活动的数量(这里,3:杂耍、骑自行车、射箭)作为列数?
然后,在每个单元格中,如果学生参加了该活动,则会有一个分数,如果他们没有参加该活动,则会有一个空白。最终,我想在数据网格中显示以上内容,而无需更改我的类。
我试图通过这样做来确定唯一学生的数量:
lstTrackScores.Select(x => x.StudentNames).Distinct().Count();
我想我想创建一个二维数组,其行数等于上面的 Count,列数等于 3。然后,不知何故,我将该数组显示到 Datagrid,但我不知道这该怎么做。我正在使用 C# 2010 Express。
【问题讨论】: