Ho trovato solo un modo per farlo in senso inverso: creare una stringa separata da una lista int o array, ma non su come convertire input come string str = "1,2,3,4,5";
in una matrice o lista di ints.Converta una stringa separata da virgola a int array
Qui è la mia realizzazione (ispirati da 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;
}
}
}
}
Pensi che questo è un buon approccio o c'è un più facile, forse anche costruito in modo?
EDIT: Purtroppo per qualsiasi confusione, ma il metodo deve gestire input non valido come "1,2,,,3"
o "###, 5,"
ecc saltando esso.
Stai inutilmente complicare il codice non usando 'foreach'. Il post di cui stai copiando sta risolvendo un problema completamente diverso. – SLaks