代码之家  ›  专栏  ›  技术社区  ›  user215675

C以另一种方式对数字分组

  •  0
  • user215675  · 技术社区  · 15 年前

    当分组数字时,我使用

       string[] numbers = 
       { "123", "34555", "91882", "100", "7823", "1111", "76551" };
    
        var query = from digits in numbers
                    group digits by digits.Length into ByDigit
                    select
                    new { digit = ByDigit, length = ByDigit.Key };
    

    当我想使用

    var query = numbers.GroupBy() ( 我不知道如何命名它,它是扩展链接吗?)

    怎么做?

    2 回复  |  直到 15 年前
        1
  •  6
  •   Blake Pettersson    15 年前

    我假设您想知道如何使用扩展方法来做同样的事情。在这种情况下

    var query = numbers.GroupBy(n => n.Length).Select(n => new { digit = n, length = n.Key });
    
        2
  •  4
  •   Rubens Farias    15 年前

    使用相同的语义,您将拥有:

    var query = numbers
        .GroupBy(digits => digits.Length)
        .Select(ByDigit => new
        {
            digit = ByDigit,
            length = ByDigit.Key
        });