我在 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 ,并且我们希望获得所有国家/地区的此信息。请任何人都可以逐步定义它。谢谢
注意:此查询已编译,没有错误并且工作正常