Ich wollte eine LINQ-Abfrage für ein MatchCollection
Objekt ausführen, aber fand dies nicht möglich, da es ICollection<T>
, nur ICollection
implementiert nicht.Verwenden von LINQ mit Klassen implementieren nicht generische ICollection
Was ist die beste Option für LINQ mit nicht-generischen Sammlungen, sowohl in Bezug auf Code Prägnanz, sondern auch die Leistung und Speichernutzung?
(Bei Interesse ist hier der nicht-LINQuified Code :)
MatchCollection fieldValues = Regex.Matches(fieldValue, @"(?<id>\d+);#(?<text>[^;|^$]+)");
foreach (Match m in fieldValues)
{
if (m.Groups["text"].Value.Equals(someString))
{
// Do stuff
}
}
Aus irgendeinem Grund ich dies nicht glaubte würde als Match Arbeit ist nicht generisch. Ich hätte es ausprobieren sollen! Ihre Erklärung der Compiler-Übersetzung war sehr hilfreich. –