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

时间:2009-12-02 14:13:36

标签: c# linq

在对数字进行分组时,我使用

   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 个答案:

答案 0 :(得分:6)

我假设你想知道如何使用扩展方法做同样的事情。在这种情况下,它将是

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

答案 1 :(得分:4)

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

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