c# - separated - ¿Cómo convertir Lista<int> a cadena[]?
cannot implicitly convert type ''string'' to ''int'' (5)
Necesito una forma fácil de convertir una List<int>
a una matriz de string
.
Yo tengo:
var the_list = new List<int>();
the_list.Add(1);
the_list.Add(2);
the_list.Add(3);
string[] the_array = new string[the_list.Count];
for(var i = 0 ; i < the_array.Count; ++i)
the_array[i] = the_list[i].ToString();
... lo que me parece muy feo.
hay una manera mas facil?
Nota: Estoy buscando una forma más fácil , no necesariamente una forma más rápida.
Debido a que su lista solo tiene un número, puede convertirlos fácilmente en una cadena. Simplemente crea un bucle y convierte sus miembros a la cadena.
string[] the_array = new string[the_list.Count];
int i=0;
foreach(var item in the_list)
{
the_array[i] = item.ToString();
i++;
}
La lista tiene un método ToArray (). Le ahorrará escribir, pero probablemente no será más eficiente.
Lo sentimos, no tengo .NET instalado en esta máquina, por lo que no he probado nada:
var theList = new List<int>() { 1, 2, 3 };
var theArray = theList.Select(e => e.ToString()).ToArray(); // Lambda Form
var theArray = (from e in theList select e.ToString()).ToArray(); // Query Form
Sé que tiene una buena respuesta, pero no necesita LINQ o Select. Puedes hacerlo con un ConvertAll y un método anónimo. Me gusta esto:
var list = new List<int>();
....
var array = list.ConvertAll( x => x.ToString() ).ToArray();
Idea similar, pero creo que esto no es linq. En caso de que eso importe.
Utilice LINQ:
string[] the_array = the_list.Select(i => i.ToString()).ToArray();