where用法主要是做筛选条件使用

        List<Dictionary<string, int>> ints2 = new List<Dictionary<string, int>>()
        { new Dictionary<string,int>(){{"a",11} },
          new Dictionary<string,int>(){{"b",22} },
          new Dictionary<string,int>(){{"c",33} },
        };
        //筛选出大于>11的键
        var wherelinq=from n in ints2
                      where n.Values.FirstOrDefault()>11
                      select n.Keys;

        foreach (var nvalues in wherelinq)
        {
            Console.WriteLine(nvalues.FirstOrDefault());
        }
//输出b,c

orderby:用于排序,升序或者降序 descending。降序排列,ascending升序,默认就是升序

        List<Dictionary<string, int>> ints2 = new List<Dictionary<string, int>>()
        { new Dictionary<string,int>(){{"a",11} },
          new Dictionary<string,int>(){{"b",22} },
          new Dictionary<string,int>(){{"c",33} },
        };
        //筛选出大于>11的键
        var wherelinq=from n in ints2
                      where n.Values.FirstOrDefault()>11 
                      orderby n.Values.First() ascending
                      select n.Keys;

        foreach (var nvalues in wherelinq)
        {
            Console.WriteLine(nvalues.FirstOrDefault());
        }

//输出b,c
        List<Dictionary<string, int>> ints2 = new List<Dictionary<string, int>>()
        { new Dictionary<string,int>(){{"a",11} },
          new Dictionary<string,int>(){{"b",22} },
          new Dictionary<string,int>(){{"c",33} },
        };
        //筛选出大于>11的键
        var wherelinq=from n in ints2
                      where n.Values.FirstOrDefault()>11 
                      orderby n.Values.First() descending
                      select n.Keys;

        foreach (var nvalues in wherelinq)
        {
            Console.WriteLine(nvalues.FirstOrDefault());
        }
//输出c,b

更多推荐