группировка по перовой букве

Скрыть

Показать

Копировать
  Main.cs  
using System;
 
//добавить ссылку
using System.Linq;
 
class Program {
 public static int Main() {
 
  //источник данных
  string[] ara = new string[] {
   "a", "ab", "abc", "abcd","abcde", 
   "b","bc", "bcd","bcdef", "bcdef",
   "c", "cd","cde", "cdef","cdefg"
  };
 
  //создание запроса
  var query =
   from val in ara
   //сгруппировать val по 1 букве и записать в новую переменную N
   group val by val.Substring(0, 1) into N
   select new { firstLetter = N.Key, word = N };
 
  //выполнение запроса
  foreach(var i in query) {
   Console.WriteLine("---{0}---", i.firstLetter);
   foreach(var j in i.word) {
    Console.WriteLine(j);
   }
   Console.WriteLine();
  }
 
  Console.ReadKey();
  return 0;
 }
}
 
---a---
a
ab
abc
abcd
abcde


---b---
b
bc
bcd
bcdef
bcdef


---c---
c
cd
cde
cdef
cdefg