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

Arrays

Estas en el tema de Arrays en el foro de .NET en Foros del Web. Hola buenas tengo una duda con el manejo de arrays. Si algien me pudiera encaminar a una solucion de este problema se lo agradeceria mucho. ...
  #1 (permalink)  
Antiguo 07/06/2008, 14:57
 
Fecha de Ingreso: junio-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Arrays

Hola buenas tengo una duda con el manejo de arrays. Si algien me pudiera encaminar a una solucion de este problema se lo agradeceria mucho.


Este codigo trata de una clase de nombre proveedor que tiene como metodos guardar este metodo deve tomar llenar esos dos arreglos (id y nombres)
cada vez que se llame la funcion desde otro formulario.

Este codigo me llena una vez el arreglo pero la segunda vez que trato de llenarlo me aparece como si no tuviera nada ni sikiera un largo el arreglo, aun cuando yo redimencione el arreglo la primera vez.

Ese es mi problema y he intentado varias formas pero no tengo muchos conocimientos talvez hay una forma facil de solucionar esto.
Código:
Public Class Proveedor
    Public id() As Integer
    Public nombres() As String

    Public sub guardar(ByVal e_id As Integer, ByVal e_nombres As String)

        Dim largo, i As Integer

        Try
            largo = id.Length()
            
            if largo = 0 and id(0)<> nothing then
              largo =1
            end if 

        Catch ex As NullReferenceException

            largo = 0

        End Try


        'redimencionar el vector de tal forma que no se reseten los datos de el      

        ReDim Preserve id(largo)
        ReDim Preserve nombres(largo)

        For i = 0 To largo
            If id(largo) = Nothing Then
                id(i) = e_id
                nombres(i) = e_nombres
            End If
        Next
    End sub
End Class
  #2 (permalink)  
Antiguo 08/06/2008, 21:40
Avatar de juantux  
Fecha de Ingreso: marzo-2005
Mensajes: 59
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Arrays

Estimado,

creo que la solucion a tu problema va por el uso de Listas Genericas, mantener las propiedades como tu lo estas haciendo actualmente (con arreglos), provoca 2 problemas, uno es el consumo de memoria, por ende lentitud de tu software y dos, problemas a la hora de hacer conversiones (Boxing y Unboxing), ya que como los elementos de tu arreglo no son tratados como objetos, pierdes un poco la logica POO, mi sugerencia es:

Código:
    dim i as integer
    dim listaProveedores as IList(Of Proveedor)
    For i=1 to 100
        dim objProveedor as new Proveedor(i, "Proveedor" & i)
        listaProveedores.add(objProveedor)
    Next
Y para recorrer los proveedores...
Código:
    For Each objProveedor as Proveedor in listaProveedores
        console.writeline(objProveedor.toString()) 'Aca se llama a la funcion sobreescrita tostring() de la clase proveedor
    Next
y la clase proveedor deberia ser asi:

Código:
    Public Class Proveedor
        'campos
        public id as integer
        public nombre as string

        'Funcion tostring sobreescrita
        public function overrides ToString() as string
            return me.id.tostring() & " " & me.nombre
        end function
    End class
Espero haberte ayudado... si por algun motivo hay algun error por favor me lo corriges...

Buena suerte...

Juantux
  #3 (permalink)  
Antiguo 09/06/2008, 08:51
 
Fecha de Ingreso: junio-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Respuesta: Arrays

con mucho gusto lo haria como tu lo dices o con bases de datos pero el profesor se le ocurrio que devia ser con arreglos y de esa forma
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 13:35.