Me he estado enseñando LINQ recientemente y aplicándolo a varios pequeños rompecabezas. Sin embargo, uno de los problemas con los que me he encontrado es que LINQ-to-objects solo funciona en colecciones genéricas. ¿Existe un truco secreto/mejor práctica para convertir una colección no genérica en una colección genérica?¿Cuál es la mejor manera de convertir una colección no genérica en una colección genérica?
Mi implementación actual copia la colección no genérica a una matriz y luego opera sobre eso, pero me preguntaba si había una forma mejor.
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();
}
¡Muchas gracias! No estoy seguro de cómo me perdí ese método en la documentación, ¡pero eso es exactamente lo que estaba buscando! También gracias por la sugerencia sobre el uso de Max() – guhou