我希望能够获取同一玩家参与的游戏数量。例如,Lisa参加了游戏7,也参加了1个其他游戏。Tim和Josh都参加了游戏2,但他们还参加了其他3个游戏。通过Igrouping是否存在比较组并查看值是否相同的方法?
public List<Game> DummyDataSet()
{
dataSet.Add(new Game { GameNo = 1, FirstName = "Lisa" });
dataSet.Add(new Game { GameNo= 2, FirstName = "Tim" });
dataSet.Add(new Game { GameNo = 2, FirstName = "Josh" });
dataSet.Add(new Game { GameNo = 3, FirstName = "Susan" });
dataSet.Add(new Gamee { GameNo = 4, FirstName = "Tim" });
dataSet.Add(new Gamee { GameNo = 5, FirstName = "Tim" });
dataSet.Add(new Gamee { GameNo = 5, FirstName = "Josh" });
dataSet.Add(new Game { GameNo = 6, FirstName = "Josh" });
dataSet.Add(new Game { GameNo = 7, FirstName = "Lisa" });
return dataSet;
}
public void numOfOtherMissions()
{
List<Game> something;
something = DummyDataSet();
var grouped = something.ToLookup(x => x.GameNo, x => x.FirstName);
foreach (IGrouping<int, string> item in grouped)
{
Console.Write(item.Key);
Console.Write(": ");
var result = grouped.ToLookup(z => FirstName);
foreach (var value in item)
{
int games = 0;
if(result == item)
{
othergames++;
}
else
{
othergames = 0;
}
Console.Write(value + " " + othergames);
Console.WriteLine();
}
}
}
GameNo 1:Lisa 0 GameNo 2:Tim 0 Josh 0 GameNo 3:Susan 0 GameNo 4:Tim 0 GameNo 5:Tim 0 Josh 0 GameNo 6:Josh 0 GameNo 7:Lisa 0
- Allee Clark