L

02/08/2005 - 13:09 por lord | Informe spam
Hola, gente.

Estoy haciendo el proyecto de fin de carrera en C# y lo tengo que tener
listo para el 31 de este mes. Llevo 2 días usando C#, tras haberme
leido un libro en el que la verdad no he aprendido mucho (yo vengo de
C++, y el libro era de nivel intermedio).

Os explico de qué va la cosa. Mi programa tiene como entrada el modelo
relacional de una base de datos, y la salida es el código SQL
necesario para crear esa base de datos y también el necesario para
realizar inserciones, modificaciones, borrados y consultas sobre los
elementos de esa futura base de datos.

He diseñado una interfaz para que el usuario pueda a golpe de ratón
insertar relaciones en la base de datos, atributos en las relaciones y
declarar esos atributos como claves foráneas o candidatas.

Entonces yo tengo una clase "BaseDeDatos", otra "Relación", otra
"Atributo", otra "Clave" y otra "Clave foránea".

Yo tengo pensado que para hacer referencia a un atributo por ejemplo,
pues sea del tipo: baseDatosTal.relaciónTal.atributoTal.Nombre (por
ejemplo). Entonces quiero saber cómo "meto" los objetos de tipo
"Relación" en "BaseDeDatos".

He pensado en una lista, porque yo no sé en un principio cuántas
relaciones va a insertar el usuario. Él va insertando y borrando
relaciones según le parece.

¿Qué me aconsejais? Que estoy ya loco, llevo toda la mañana buscando
y he encontrado lo de ArrayList, pero he leido que no se pueden
modificar los elementos que contiene y si es así, no me sirve.

Gracias de antemano ;).

Enrique.
 

Leer las respuestas

#1 Tristan
02/08/2005 - 14:29 | Informe spam
Bueno, no se qué es lo que habrás leido, pero no hay ningún probklema a la
hora de modificar los elementos de un arraylist. Probablemente lo que has
leido se refiera a que no se puede modificar elemebntos de tipo valor, por
aquello del boxing-unboxing, pero desde luego si los tipos referencia
(clases). Lógicamente es así, puesto que los objetos son referencias, lo que
se guarda en arraylist es la referencia al objeto. A través de su referencia
siempre se puede modificar el objeto al que apunta.

Pero si pretendes acceder a los atributos por nombre, te interesará mucho
más utilizar un Hashtable en lugar de ArrayList.

Por otro lado, tal vez te interese crear un Hashtable o ArrayList tipado.

Juan Carlos Badiola Saiz
MVP - C#

Preguntas similares