Otra Consulta de Objetos

25/01/2007 - 19:00 por Javito | Informe spam
Esto es frecuente, debe tener una solución fácil pero no la encuentro, si yo
recojo un conjunto de filas de una base de datos y por cada una quiero crear
un objeto utilizando un bucle While o For como puedo hacer para que cada
objeto tenga un nombre distinto.

ejemplo: While (DataReader.Read)
{
Cliente Cli = new Cliente();
Cli.Nombre = DataReader.GetString(0);
..
}
Se que puedo almacenar cada cliente saliente en una colección, pero no hay
alguna forma de que se les dé distinto nombre a cada cliente ligada a un
contador como Cliente1, Cliente2 ...

un saludo

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
25/01/2007 - 19:53 | Informe spam
"Javito" wrote in message
news:
Esto es frecuente, debe tener una solución fácil pero no la encuentro, si
yo recojo un conjunto de filas de una base de datos y por cada una quiero
crear un objeto utilizando un bucle While o For como puedo hacer para que
cada objeto tenga un nombre distinto.

ejemplo: While (DataReader.Read)
{
Cliente Cli = new Cliente();
Cli.Nombre = DataReader.GetString(0);
..
}
Se que puedo almacenar cada cliente saliente en una colección, pero no hay
alguna forma de que se les dé distinto nombre a cada cliente ligada a un
contador como Cliente1, Cliente2 ...



Lo más simple es un array, llamándolos Cliente[0], Cliente[1],
Cliente[2], etc.

Si realmente quieres variables distintas, entonces estás generando
código dinámicamente en función de los datos leídos. A continuación tendrías
que compilar ese código para poderlo ejecutar. Se puede hacer en .Net (con
Reflexión y CodeDom), pero no es nada sencillo. Creo que lo que te interesa
es un array.
Respuesta Responder a este mensaje
#2 Javito
25/01/2007 - 20:39 | Informe spam
Si pero defineme el Array porque un Array necesita definir su dimensión
antes de usarlo y te encuentras con que necesitas decir dos cosas

1) por Array es necesario Cliente[] Cli = new Cliente[12];
2) por Cliente es necesario Cliente Cli = new Cliente();

y como casan ambas cosas porque pruebas a hacer algo como
Cliente[] Cli = new Cliente[12]();

y luego haces Cliente[0]. y no te aparecen los atributos públicos de la
clase, si conoces otra forma por favor dimela.

un saludo


"Alberto Poblacion"
escribió en el mensaje news:
"Javito" wrote in message
news:
Esto es frecuente, debe tener una solución fácil pero no la encuentro, si
yo recojo un conjunto de filas de una base de datos y por cada una quiero
crear un objeto utilizando un bucle While o For como puedo hacer para que
cada objeto tenga un nombre distinto.

ejemplo: While (DataReader.Read)
{
Cliente Cli = new Cliente();
Cli.Nombre = DataReader.GetString(0);
..
}
Se que puedo almacenar cada cliente saliente en una colección, pero no
hay alguna forma de que se les dé distinto nombre a cada cliente ligada a
un contador como Cliente1, Cliente2 ...



Lo más simple es un array, llamándolos Cliente[0], Cliente[1],
Cliente[2], etc.

Si realmente quieres variables distintas, entonces estás generando
código dinámicamente en función de los datos leídos. A continuación
tendrías que compilar ese código para poderlo ejecutar. Se puede hacer en
.Net (con Reflexión y CodeDom), pero no es nada sencillo. Creo que lo que
te interesa es un array.


Respuesta Responder a este mensaje
#3 Juan Diego Bueno Prieto
25/01/2007 - 20:45 | Informe spam
Más bien es:
Cliente[12] = new Cliente();

"Javito" escribió en el mensaje
news:
Si pero defineme el Array porque un Array necesita definir su dimensión
antes de usarlo y te encuentras con que necesitas decir dos cosas

1) por Array es necesario Cliente[] Cli = new Cliente[12];
2) por Cliente es necesario Cliente Cli = new Cliente();

y como casan ambas cosas porque pruebas a hacer algo como
Cliente[] Cli = new Cliente[12]();

y luego haces Cliente[0]. y no te aparecen los atributos públicos de la
clase, si conoces otra forma por favor dimela.

un saludo


"Alberto Poblacion"
escribió en el mensaje news:
"Javito" wrote in message
news:
Esto es frecuente, debe tener una solución fácil pero no la encuentro,
si yo recojo un conjunto de filas de una base de datos y por cada una
quiero crear un objeto utilizando un bucle While o For como puedo hacer
para que cada objeto tenga un nombre distinto.

ejemplo: While (DataReader.Read)
{
Cliente Cli = new Cliente();
Cli.Nombre = DataReader.GetString(0);
..
}
Se que puedo almacenar cada cliente saliente en una colección, pero no
hay alguna forma de que se les dé distinto nombre a cada cliente ligada
a un contador como Cliente1, Cliente2 ...



Lo más simple es un array, llamándolos Cliente[0], Cliente[1],
Cliente[2], etc.

Si realmente quieres variables distintas, entonces estás generando
código dinámicamente en función de los datos leídos. A continuación
tendrías que compilar ese código para poderlo ejecutar. Se puede hacer en
.Net (con Reflexión y CodeDom), pero no es nada sencillo. Creo que lo que
te interesa es un array.









Estoy utilizando la versión gratuita de SPAMfighter para usuarios privados.
Ha eliminado 3157 correos spam hasta la fecha.
Los abonados no tienen este mensaje en sus correos.
¡Pruebe SPAMfighter gratis ya!
Respuesta Responder a este mensaje
#4 Javito
25/01/2007 - 20:59 | Informe spam
Descartado he probado las siguientes formas y todas dan errores
como dices Cliente[12] = new Cliente(); --> Error
Cliente[] Cli[12]= new Cliente(); --> Error
Cliente Cli[12]= new Cliente(); --> Error
Cliente[] Cli= new Cliente[12](); --> Error

y ya no se me ocurren más formas

"Juan Diego Bueno Prieto" escribió en el mensaje
news:
Más bien es:
Cliente[12] = new Cliente();

"Javito" escribió en el mensaje
news:
Si pero defineme el Array porque un Array necesita definir su dimensión
antes de usarlo y te encuentras con que necesitas decir dos cosas

1) por Array es necesario Cliente[] Cli = new Cliente[12];
2) por Cliente es necesario Cliente Cli = new Cliente();

y como casan ambas cosas porque pruebas a hacer algo como
Cliente[] Cli = new Cliente[12]();

y luego haces Cliente[0]. y no te aparecen los atributos públicos de
la clase, si conoces otra forma por favor dimela.

un saludo


"Alberto Poblacion"
escribió en el mensaje news:
"Javito" wrote in message
news:
Esto es frecuente, debe tener una solución fácil pero no la encuentro,
si yo recojo un conjunto de filas de una base de datos y por cada una
quiero crear un objeto utilizando un bucle While o For como puedo hacer
para que cada objeto tenga un nombre distinto.

ejemplo: While (DataReader.Read)
{
Cliente Cli = new Cliente();
Cli.Nombre = DataReader.GetString(0);
..
}
Se que puedo almacenar cada cliente saliente en una colección, pero no
hay alguna forma de que se les dé distinto nombre a cada cliente ligada
a un contador como Cliente1, Cliente2 ...



Lo más simple es un array, llamándolos Cliente[0], Cliente[1],
Cliente[2], etc.

Si realmente quieres variables distintas, entonces estás generando
código dinámicamente en función de los datos leídos. A continuación
tendrías que compilar ese código para poderlo ejecutar. Se puede hacer
en .Net (con Reflexión y CodeDom), pero no es nada sencillo. Creo que lo
que te interesa es un array.









Estoy utilizando la versión gratuita de SPAMfighter para usuarios
privados.
Ha eliminado 3157 correos spam hasta la fecha.
Los abonados no tienen este mensaje en sus correos.
¡Pruebe SPAMfighter gratis ya!


Respuesta Responder a este mensaje
#5 Juan Diego Bueno Prieto
25/01/2007 - 21:39 | Informe spam
A ver, es tan simple como:

Cliente[] cli = new Cliente[12];

y luego, cuando quieras construir cada miembro del array:

cli[3]=new Cliente();

y eso te tiene que funcionar, porque es así (antes te lo dije mal)

"Javito" escribió en el mensaje
news:
Descartado he probado las siguientes formas y todas dan errores
como dices Cliente[12] = new Cliente(); --> Error
Cliente[] Cli[12]= new Cliente(); --> Error
Cliente Cli[12]= new Cliente(); --> Error
Cliente[] Cli= new Cliente[12](); --> Error

y ya no se me ocurren más formas

"Juan Diego Bueno Prieto" escribió en el mensaje
news:
Más bien es:
Cliente[12] = new Cliente();

"Javito" escribió en el mensaje
news:
Si pero defineme el Array porque un Array necesita definir su dimensión
antes de usarlo y te encuentras con que necesitas decir dos cosas

1) por Array es necesario Cliente[] Cli = new Cliente[12];
2) por Cliente es necesario Cliente Cli = new Cliente();

y como casan ambas cosas porque pruebas a hacer algo como
Cliente[] Cli = new Cliente[12]();

y luego haces Cliente[0]. y no te aparecen los atributos públicos de
la clase, si conoces otra forma por favor dimela.

un saludo


"Alberto Poblacion"
escribió en el mensaje news:
"Javito" wrote in message
news:
Esto es frecuente, debe tener una solución fácil pero no la encuentro,
si yo recojo un conjunto de filas de una base de datos y por cada una
quiero crear un objeto utilizando un bucle While o For como puedo
hacer para que cada objeto tenga un nombre distinto.

ejemplo: While (DataReader.Read)
{
Cliente Cli = new Cliente();
Cli.Nombre = DataReader.GetString(0);
..
}
Se que puedo almacenar cada cliente saliente en una colección, pero no
hay alguna forma de que se les dé distinto nombre a cada cliente
ligada a un contador como Cliente1, Cliente2 ...



Lo más simple es un array, llamándolos Cliente[0], Cliente[1],
Cliente[2], etc.

Si realmente quieres variables distintas, entonces estás generando
código dinámicamente en función de los datos leídos. A continuación
tendrías que compilar ese código para poderlo ejecutar. Se puede hacer
en .Net (con Reflexión y CodeDom), pero no es nada sencillo. Creo que
lo que te interesa es un array.









Estoy utilizando la versión gratuita de SPAMfighter para usuarios
privados.
Ha eliminado 3157 correos spam hasta la fecha.
Los abonados no tienen este mensaje en sus correos.
¡Pruebe SPAMfighter gratis ya!









Estoy utilizando la versión gratuita de SPAMfighter para usuarios privados.
Ha eliminado 3157 correos spam hasta la fecha.
Los abonados no tienen este mensaje en sus correos.
¡Pruebe SPAMfighter gratis ya!
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida