Ich habe mich LINQ vor kurzem gelehrt und es auf verschiedene kleine Rätsel angewendet. Eines der Probleme, auf die ich gestoßen bin, ist jedoch, dass LINQ-to-objects nur in generischen Sammlungen funktioniert. Gibt es einen geheimen Trick/Best Practice zum Konvertieren einer nicht generischen Sammlung in eine generische Sammlung?Wie konvertiert man eine nicht generische Sammlung am besten in eine generische Sammlung?
Meine aktuelle Implementierung kopiert die nicht-generische Sammlung in ein Array und arbeitet dann daran, aber ich fragte mich, ob es einen besseren Weg gab?
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();
}
Vielen Dank! Ich bin mir nicht sicher, wie ich diese Methode in der Dokumentation vermisst habe, aber genau das habe ich gesucht! Danke auch für den Tipp auf Max() – guhou