Es un ejemplo que muestra como agrupar partiendo de una array de strings y obtener el valor de agrupación y los valores de cada grupo en Linq.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
string[] colores = { "azul", "naranja", "rojo", "amarillo", "verde", "rosa", "lila", "morado", "gris", "negro", "blanco" }; var coloresOrdenados = from c in colores group c by c.Substring(0, 1) into primerChar orderby primerChar.Key ascending select new { Inicial=primerChar.Key, colorporInicial=primerChar }; string[] coloresPorInicial; string resultado=""; foreach (var ini in coloresOrdenados) { resultado = resultado+ "Colores que empiezan por '" + ini.Inicial+"': "; coloresPorInicial = ini.colorporInicial.ToArray(); resultado = resultado + String.Join(" ", coloresPorInicial) + "\r\n"; } //Valor de resultado Colores que empiezan por 'a': azul amarillo Colores que empiezan por 'b': blanco Colores que empiezan por 'g': gris Colores que empiezan por 'l': lila Colores que empiezan por 'm': morado Colores que empiezan por 'n': naranja negro Colores que empiezan por 'r': rojo rosa Colores que empiezan por 'v': verde |