首先,我想,你的类是公众一个和所有你的私人字符串字段(因为它从你的代码示例)在现实中公共属性(告诉我,如果我错了!)。 所以,你的类是这样的:
public class Player
{
public string FirstName{get; set;}
public string SurName{get; set;}
public string Group{get; set;}
}
和内容类似于:由球员的名字和的string.join()
public static ObservableCollection<Player> collection = new ObservableCollection<Player>
{ new Player{FirstName ="Alexander", SurName="Davidof", Group = "Football"},
new Player{FirstName ="Alexander", SurName="Davidof", Group = "Baseball"},
new Player{FirstName ="Alexander", SurName="Medvedev" , Group = "Karate"},
new Player{FirstName ="Alexander", SurName="Medvedev", Group = "Polo"}};
使用LINQ组条目将其连接成一个单打串
var pl = from player in collection
group player by new { First = player.FirstName, Second = player.SurName } into gr
select String.Format("{0} {1} : {2}", gr.Key.First, gr.Key.Second, String.Join(",", gr.Select(a=> a.Group)));
如果打印这个数组
pl.ToList().ForEach(a => Console.WriteLine(a));
你会看到类似于:
Alexander Davidof : Football,Baseball
Alexander Medvedev : Karate,Polo