Solo encontré una forma de hacerlo al revés: crear una cadena separada por comas de una lista int o matriz, pero no de cómo convertir una entrada como string str = "1,2,3,4,5";
en una matriz o lista de ints.Convertir cadenas de entrada separadas por comas a la matriz int
Aquí está mi aplicación (inspirado por this post by 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;
}
}
}
}
¿Cree que este es un buen enfoque o hay un más fácil, tal vez incluso construido en el camino?
EDIT: Lo sentimos por cualquier confusión, pero el método tiene que manejar la entrada no válida como "1,2,,,3"
o "###, 5,"
etc. saltándose ella.
Usted está complicando innecesariamente su código al no utilizar 'foreach'. La publicación desde la que estás copiando está resolviendo un problema completamente diferente. – SLaks