Volevo eseguire una query LINQ su un oggetto MatchCollection
ma ho trovato che ciò non era possibile in quanto non implementa ICollection<T>
, solo ICollection
.Utilizzo di LINQ con classi che implementano ICollection non generico
Qual è l'opzione migliore per l'utilizzo di LINQ con raccolte non generiche, sia in termini di codifica del codice, ma anche di prestazioni e utilizzo della memoria?
(Se interessati, ecco il codice non LINQuified :)
MatchCollection fieldValues = Regex.Matches(fieldValue, @"(?<id>\d+);#(?<text>[^;|^$]+)");
foreach (Match m in fieldValues)
{
if (m.Groups["text"].Value.Equals(someString))
{
// Do stuff
}
}
Per qualche motivo non pensavo che funzionasse come MatchCollection non è generico. Credo che avrei dovuto provarlo! La tua spiegazione della traduzione del compilatore è stata molto utile. –