在C#中,如何识别不同的对并计算它在一长串对中出现的次数?

pha*_*han 0 c# visual-studio-2010

我正在使用Visual C#2010 Express.我有一系列的学生告诉我过去哪一对学生一起工作过.因此,arrStudents(0,0)可能包含Joe,而arrStudents(0,1)包含Bob,有时反之亦然.记录名称的顺序无关紧要,这只是我关心的配对信息.

例:

Joe - Bob
Mary - Bob
Bob - Joe
Mary - Joe
Jack - Mary
Joe - Bob
Run Code Online (Sandbox Code Playgroud)

我应该使用什么方法来识别所有不同的对并计算它出现的次数?

因此,由于(Joe - Bob)和(Bob - Joe)是同一对,结果应该产生:

Joe - Bob, 3
Mary - Bob, 1
Mary - Joe, 1
Jack - Mary, 1
Run Code Online (Sandbox Code Playgroud)

Vil*_*lx- 6

我创建了一个Dictionary,其中键是学生对,值是计数.然后遍历所有对并将它们添加到字典中.对于每对,按字母顺序(或其他)对名称进行排序,以便"Joe-Bob"和"Bob-Joe"最终都为"Bob-Joe".如果该对已经存在于字典中,则将corressponding值增加1.如果不存在,则添加它并将值设置为1.最后,只需遍历字典即可获得结果.