typestar

group ... into en C#

Agrupar dentro de una consulta y seguir consultando sobre los grupos.

var commits = new[]
{
    (Author: "ada", Files: 3), (Author: "alan", Files: 1),
    (Author: "ada", Files: 5), (Author: "kurt", Files: 2),
};

// group ... by ... into g continúa la consulta sobre los grupos
var summary =
    from c in commits
    group c by c.Author into g
    orderby g.Sum(c => c.Files) descending
    select $"{g.Key}: {g.Count()} commits, {g.Sum(c => c.Files)} files";

Console.WriteLine(string.Join("\n", summary));

Cómo funciona

  1. group c by c.Author into g reinicia la consulta por grupo.
  2. g.Key, g.Count() y g.Sum(...) resumen cada autor.
  3. orderby clasifica los grupos, no las filas.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
415
Tokens
94
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 66 segundos.

Escribe este fragmento

Paso 3 de 3 en Sintaxis de consulta; paso 12 de 17 en LINQ a fondo.

← Anterior Siguiente →