Quería ejecutar una consulta LINQ contra un objeto MatchCollection
pero encontré que esto no fue posible ya que no implementa ICollection<T>
, solo ICollection
.Usando LINQ con clases que implementan ICollection no genérico
¿Cuál es la mejor opción para usar LINQ con colecciones no genéricas, tanto en términos de concisión del código como de rendimiento y uso de la memoria?
(Si está interesado, aquí está el código no LINQuified :)
MatchCollection fieldValues = Regex.Matches(fieldValue, @"(?<id>\d+);#(?<text>[^;|^$]+)");
foreach (Match m in fieldValues)
{
if (m.Groups["text"].Value.Equals(someString))
{
// Do stuff
}
}
Por alguna razón no pensé que esto funcionaría ya que MatchCollection no es genérico. Creo que debería haberlo intentado! Su explicación de la traducción del compilador fue muy útil. –