Uczę się ostatnio LINQ i stosuję go do różnych małych zagadek. Jednak jednym z problemów, które napotkam, jest to, że LINQ-to-Object działa tylko na kolekcjach ogólnych. Czy istnieje tajna sztuczka/najlepsza praktyka przekształcania nietypowej kolekcji w kolekcję ogólną?Jaki jest najlepszy sposób na konwersję kolekcji nietypowej na kolekcję ogólną?
Moja obecna implementacja kopiuje kolekcję nietypową do tablicy, po czym działa na tym, ale zastanawiałem się, czy istnieje lepszy sposób?
public static int maxSequence(string str)
{
MatchCollection matches = Regex.Matches(str, "H+|T+");
Match[] matchArr = new Match[matches.Count];
matches.CopyTo(matchArr, 0);
return matchArr
.Select(match => match.Value.Length)
.OrderByDescending(len => len)
.First();
}
Dziękuję bardzo! Nie jestem pewien, jak ominąłem tę metodę w dokumentacji, ale tego właśnie szukałem! Również dziękuję za poradę dotyczącą używania Max() – guhou