Definicion de un array

19/04/2006 - 17:33 por Jose A | Informe spam
Saludos canal. Vereis estoy empezando con vb.net muy poquito a poco y me
encontrado que no se definir un structure de variable en un modulo en la
cual una de ellas es un array de una profundidad, os pongo aqui como lo
tengo

Structure TPResultados
Dim Fecha As Date
Dim N() As double < esta necesito que sea N(5)
Dim C As Double
Dim Reintegro As Single
Dim IMP_C1 As Double
Dim IMP_C2 As Double
Dim IMP_C3 As Double
Dim IMP_C4 As Double
Dim IMP_C5 As Double
Dim IMP_R As Double
End Structure

¿como o donde tengo que indicar la dimension de la variable N?

A su vez la estructura TPResultados la utilizare para crear otra matriz
de la siguiente manera

Dim RResultados(3) as TPresultados


Gracias anticipadas

Preguntas similare

Leer las respuestas

#1 Jesús López
19/04/2006 - 19:39 | Informe spam
Desafortunadamente las estructuras no permiten eso, pero podría hacerse
perfectamente con una clase. ¿Hay alguna razón especial por la que usas
estructuras en vez de clases? Las estructuras tienen el problema de que al
ser un tipo valor están sujetas a procesos de boxing y unboxing los cuales
añaden ineficiencia a las aplicaciones.

Saludos:

Jesús López



"Jose A" escribió en el mensaje
news:
Saludos canal. Vereis estoy empezando con vb.net muy poquito a poco y me
encontrado que no se definir un structure de variable en un modulo en la
cual una de ellas es un array de una profundidad, os pongo aqui como lo
tengo

Structure TPResultados
Dim Fecha As Date
Dim N() As double < esta necesito que sea N(5)
Dim C As Double
Dim Reintegro As Single
Dim IMP_C1 As Double
Dim IMP_C2 As Double
Dim IMP_C3 As Double
Dim IMP_C4 As Double
Dim IMP_C5 As Double
Dim IMP_R As Double
End Structure

¿como o donde tengo que indicar la dimension de la variable N?

A su vez la estructura TPResultados la utilizare para crear otra matriz de
la siguiente manera

Dim RResultados(3) as TPresultados


Gracias anticipadas
Respuesta Responder a este mensaje
#2 Jose A
19/04/2006 - 19:59 | Informe spam
Jesús López escribió:
Desafortunadamente las estructuras no permiten eso, pero podría hacerse
perfectamente con una clase. ¿Hay alguna razón especial por la que usas
estructuras en vez de clases? Las estructuras tienen el problema de que al
ser un tipo valor están sujetas a procesos de boxing y unboxing los cuales
añaden ineficiencia a las aplicaciones.

Saludos:

Jesús López



"Jose A" escribió en el mensaje
news:

Saludos canal. Vereis estoy empezando con vb.net muy poquito a poco y me
encontrado que no se definir un structure de variable en un modulo en la
cual una de ellas es un array de una profundidad, os pongo aqui como lo
tengo

Structure TPResultados
Dim Fecha As Date
Dim N() As double < esta necesito que sea N(5)
Dim C As Double
Dim Reintegro As Single
Dim IMP_C1 As Double
Dim IMP_C2 As Double
Dim IMP_C3 As Double
Dim IMP_C4 As Double
Dim IMP_C5 As Double
Dim IMP_R As Double
End Structure

¿como o donde tengo que indicar la dimension de la variable N?

A su vez la estructura TPResultados la utilizare para crear otra matriz de
la siguiente manera

Dim RResultados(3) as TPresultados


Gracias anticipadas







Jesus
gracias por tu pronta respuesta. La principal razon es que estoy
aprendiendo .net mientras intento realizar un pequeño programa y
desconozco muchas cosas que posee visual basic .net.
¿como seria con una clase?
Te lo agradeciera me lo indicaras.
Respuesta Responder a este mensaje
#3 Jesús López
20/04/2006 - 12:47 | Informe spam
La clase sería más o menos así:

Public Class TPResultados

Private mFecha As Date
Public Property Fecha() As Date
Get
Return mFecha
End Get
Set(ByVal value As Date)
mFecha = value
End Set
End Property


Private mC As Double
Public Property C() As Double
Get
Return mC
End Get
Set(ByVal value As Double)
mC = value
End Set
End Property


Private mReintegro As Single
Public Property Reintegro() As Single
Get
Return mReintegro
End Get
Set(ByVal value As Single)
mReintegro = value
End Set
End Property

Private mN(5) As Double
Public ReadOnly Property N() As Double()
Get
Return mN
End Get
End Property

End Class

No he incluido todas las propiedades por brevedad..

Observa que la propiedad N es de sólo lectura. Eso significa que no puedes
hacer:

Resultado.N = Algo

Pero eso no impide que hagas esto otro:

Resultado.N(3) = Algo

Para crear el array de 4 objectos (de 0 a 3) de esta clase sería:


Dim RResultados(3) As TPResultados
For i As Integer = 0 To 3
Dim R As New TPResultados()
R.N(0) = 3.1416
R.N(1) = 1.3
'
R.Fecha = Date.Today
R.Reintegro = 20
'...
RResultados(i) = R
Next


Saludos:

Jesús López
Solid Quality Learning
www.solidqualitylearning.com



"Jose A" escribió:

Jesús López escribió:
> Desafortunadamente las estructuras no permiten eso, pero podría hacerse
> perfectamente con una clase. ¿Hay alguna razón especial por la que usas
> estructuras en vez de clases? Las estructuras tienen el problema de que al
> ser un tipo valor están sujetas a procesos de boxing y unboxing los cuales
> añaden ineficiencia a las aplicaciones.
>
> Saludos:
>
> Jesús López
>
>
>
> "Jose A" escribió en el mensaje
> news:
>
>>Saludos canal. Vereis estoy empezando con vb.net muy poquito a poco y me
>>encontrado que no se definir un structure de variable en un modulo en la
>>cual una de ellas es un array de una profundidad, os pongo aqui como lo
>>tengo
>>
>> Structure TPResultados
>> Dim Fecha As Date
>> Dim N() As double < esta necesito que sea N(5)
>> Dim C As Double
>> Dim Reintegro As Single
>> Dim IMP_C1 As Double
>> Dim IMP_C2 As Double
>> Dim IMP_C3 As Double
>> Dim IMP_C4 As Double
>> Dim IMP_C5 As Double
>> Dim IMP_R As Double
>> End Structure
>>
>>¿como o donde tengo que indicar la dimension de la variable N?
>>
>>A su vez la estructura TPResultados la utilizare para crear otra matriz de
>>la siguiente manera
>>
>>Dim RResultados(3) as TPresultados
>>
>>
>>Gracias anticipadas
>
>
>
Jesus
gracias por tu pronta respuesta. La principal razon es que estoy
aprendiendo .net mientras intento realizar un pequeño programa y
desconozco muchas cosas que posee visual basic .net.
¿como seria con una clase?
Te lo agradeciera me lo indicaras.


Respuesta Responder a este mensaje
#4 José Manuel Agüero
21/04/2006 - 15:19 | Informe spam
Hola, Jose:

Sería así:

rresultados(0).fecha=#1/1/2001#
redim rresultados(0).n(5)
rresultados(0).n(0)=4.3
'...
rresultados(0).n(5)=5.2
rresultados(0).reintegro=4.4

etc.

Saludos.


"Jose A" escribió en el mensaje news:
| Saludos canal. Vereis estoy empezando con vb.net muy poquito a poco y me
| encontrado que no se definir un structure de variable en un modulo en la
| cual una de ellas es un array de una profundidad, os pongo aqui como lo
| tengo
|
| Structure TPResultados
| Dim Fecha As Date
| Dim N() As double < esta necesito que sea N(5)
| Dim C As Double
| Dim Reintegro As Single
| Dim IMP_C1 As Double
| Dim IMP_C2 As Double
| Dim IMP_C3 As Double
| Dim IMP_C4 As Double
| Dim IMP_C5 As Double
| Dim IMP_R As Double
| End Structure
|
| ¿como o donde tengo que indicar la dimension de la variable N?
|
| A su vez la estructura TPResultados la utilizare para crear otra matriz
| de la siguiente manera
|
| Dim RResultados(3) as TPresultados
|
|
| Gracias anticipadas
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida