Convertir una cadena de ints separados por comas en una matriz int
Solo encontré una forma de hacerlo en sentido contrario: crear una cadena separada por comas de una lista o matriz int, pero no sobre cómo convertir una entrada comostring str = "1,2,3,4,5";
a una matriz o lista de entradas.
Aquí está mi implementación (inspirada eneste post por Eric Lippert):
public static IEnumerable<int> StringToIntList(string str)
{
if (String.IsNullOrEmpty(str))
{
yield break;
}
var chunks = str.Split(',').AsEnumerable();
using (var rator = chunks.GetEnumerator())
{
while (rator.MoveNext())
{
int i = 0;
if (Int32.TryParse(rator.Current, out i))
{
yield return i;
}
else
{
continue;
}
}
}
}
¿Crees que este es un buen enfoque o hay un método más fácil, tal vez incluso incorporado?
EDITAR: Lo siento por cualquier confusión, pero el método necesita manejar entradas no válidas como"1,2,,,3"
o"###, 5,"
omitiéndolo, etc.