Group By y Aggregate en Visual Basic
Agrupar valores en cubetas y plegar una secuencia entera en una consulta.
Dim words = {"fig", "plum", "kiwi", "date", "yuzu", "sloe", "pear"}
Dim byLength = From w In words
Group By size = w.Length Into bunch = Group
Order By size
For Each g In byLength
Console.WriteLine($"{g.size}: {String.Join(", ", g.bunch)}")
Next
Dim stats = Aggregate w In words
Into total = Count(), longest = Max(w.Length)
Console.WriteLine($"{stats.total} words, longest runs {stats.longest}")
Cómo funciona
Group By size = ... Into bunch = Groupnombra la clave y la cubeta.- Cada fila del resultado lleva
sizey subunchde miembros. Aggregate ... Into Count(), Max(...)calcula varios plegados a la vez.
Palabras clave y builtins usados aquí
DimEachForNext
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 399
- Tokens
- 101
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 81 segundos.
Paso 3 de 3 en LINQ; paso 12 de 29 en Fundamentos del lenguaje.