Я пытаюсь сгруппировать строки по их расширению (последние три символа), чтобы обучить моим навыкам LINQ (я новичок ie), но я получаю исключение:
System.ArgumentOutOfRangeException: 'Индекс и длина должны указывать на местоположение в строке.
Мой код ниже: Где моя ошибка?
string[] files = new string[10] {"OKO.pdf","aaa.frx", "bbb.TXT", "xyz.dbf","abc.pdf", "aaaa.PDF","xyz.frt", "abc.xml", "ccc.txt", "zzz.txt"};
var res = from file in files
group file by file.Substring(file.IndexOf(".")+1,file.Length-1) into extensions
select extensions;
var res1 = files.GroupBy(file => file.Substring(file.IndexOf("."), file.Length - 1));
foreach(var group in res)
{
Console.WriteLine("There are {0} files with the {1} extension.", group.Count(), group.Key);
}