linqにクエリがありますが、このクエリを作成しなかったため、理解できません。クエリは以下のとおりです
string[] arr1 = new string[]
{
"Pakistan:4,India:3,USA:2,Iran:1,UK:0",
"Pakistan:4,India:3,USA:2,Iran:1,UK:0",
"India:4,USA:3,Iran:2,UK:1,Pakistan:0"
};
var count = arr1
.SelectMany(s => s.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
.GroupBy(s => s.Split(':')[0], s => s.Split(':')[1])
.ToDictionary(g => g.Key,
g =>
{
var items = g.Distinct();
var result = new Dictionary<String, int>();
foreach (var item in items)
result[item] = g.Count(gitem => gitem == item);
return result;
});
// print the result
foreach (var country in count.Keys)
{
foreach (var ocurrence in count[country].Keys)
{
Console.WriteLine("{0} : {1} = {2}", country, ocurrence, count[country][ocurrence]);
}
}
このクエリの目的
このクエリは、これを実現するために実行されます。パキスタンに「0」が付いた回数、「1」が付いた回数、2、3、4を知りたいので、すべての国についてこの情報を取得したいと思います。誰でも段階的に定義できますか?ありがとう
注:このクエリはコンパイルされ、エラーがなく、正しく機能しています