List<string> li2 = new List<string>() { "0", "5", "5","9", "9", "9", "14" };var b = from c in li2 group c by c into g select g; //按元素分组         
var a = b.Select(x => x.Key);  //具有Key定义
foreach (var c in a)
    {
            Console.WriteLine(c);
    }var c = b.Select(x => x.value.count());  //报错,为什么没有value定义我想问一下,按元素分组(group by),得到序列,为什么有Key定义,而没有value的定义。我觉得有Key,就应该有value啊

解决方案 »

  1.   

    b.Select(x => x.Count());分组以后,集合中的每个元素还是一个集合。楼主的思维太奇怪了。
      

  2.   

    没有Value
    List<string> li2 = new List<string>() { "0", "5", "5", "9", "9", "9", "14" };            var b = from c in li2 group c by c into g select g; 
                var a = b.Select(x => x.Key); 
                foreach (var c in a)
                {
                    Console.WriteLine(c);
                }            var d = b.Select(x => x.Count());
                foreach (var f in d)
                {
                    Console.WriteLine(f);
                }
      

  3.   

    GroupBy返回的是IGrouping<TKey, TElement> 参考msdn:
    http://msdn.microsoft.com/en-us/library/bb344977.aspx
      

  4.   

    我就不信,只有Key,没有value值
      

  5.   


    那你去微软把开发.net framework的程序员揪出来揍一顿吧。
      

  6.   

    没有value,何来Key;没有Key,何来valure....是相对的啊
      

  7.   

    var c = b.Select(x => x.value.count()); 
    x就是 value 不用再value