Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Asinar valores de una lista a una variable

Estas en el tema de Asinar valores de una lista a una variable en el foro de .NET en Foros del Web. Hola, tengo una lista de tipo entero en c#, y luego quiero asignar los valores de esa lista a una variable de tipo string, para ...
  #1 (permalink)  
Antiguo 20/02/2014, 16:51
 
Fecha de Ingreso: abril-2007
Mensajes: 119
Antigüedad: 17 años
Puntos: 1
Exclamación Asinar valores de una lista a una variable

Hola, tengo una lista de tipo entero en c#, y luego quiero asignar los valores de esa lista a una variable de tipo string, para ello recorro la lista de la siguiente manera:


string miVariable="";

for (int i = 0; i < milista.Count; i++)
{
miVariable= Convert.ToString(milista[i]) + ","
}


la lista es de tipo int.

El punto es que no me deja asignar la a miVariable porque es string, pero para ello le paso un convert, pero aun asi no me lo acepta.

¿En que estoy fallando?
  #2 (permalink)  
Antiguo 20/02/2014, 18:56
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Asinar valores de una lista a una variable

Hola.

Prueba con esto:

string miVariable="";
Código C#:
Ver original
  1. for (int i = 0; i < milista.Count; i++)
  2. {
  3.     miVariable= milista[i].ToString() + ","
  4. }

y sino con esto:
Código C#:
Ver original
  1. foreach(int valor in milista)
  2. {
  3.     miVariable= valor.ToString() + ","
  4. }

Saludos.
  #3 (permalink)  
Antiguo 21/02/2014, 01:43
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Asinar valores de una lista a una variable

Cita:
Iniciado por lair Ver Mensaje
Hola.

Prueba con esto:

string miVariable="";
Código C#:
Ver original
  1. for (int i = 0; i < milista.Count; i++)
  2. {
  3.     miVariable= milista[i].ToString() + ","
  4. }

y sino con esto:
Código C#:
Ver original
  1. foreach(int valor in milista)
  2. {
  3.     miVariable= valor.ToString() + ","
  4. }

Saludos.
En ambos casos hay un error y una optimización.

La optimización es que en ningún caso hace falta poner el "ToString()", o hacer el "Convert" como hace @rafaescalona, ya que el compilador ve que la variable de destino es un string y estas contatenandole un texto con el +, por lo que automáticamente lo pasa a cadena.

El error es que solo vas a guardar el valor del último entero, ya que en cada ciclo del for (o del foreach) estás reasignando la variable.

Yo te propongo estas versiones...

FOR:
Código C#:
Ver original
  1. miVariable = String.Empty;
  2. for (int i = 0; i < milista.Count; i++)
  3. {
  4.     miVariable += milista[i] + ",";
  5. }

FOREACH:
Código C#:
Ver original
  1. miVariable = String.Empty;
  2. foreach(int valor in milista)
  3. {
  4.     miVariable += valor + ",";
  5. }

Como optimización adicional (esto ya sería para nota), podrías usar un StringBuilder, pero eso ya te lo dejo investigar ;)
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: lista, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:34.