Inicializar un Array de Structures con Arrays en la Structure

27/09/2004 - 00:10 por 44r0x0r44 | Informe spam
Buenas noches lectores!

Una vez más he tropezado con un enigma, a ver si me podeis
ayudar (gracias por adelantado)

Tengo el siguiente Structure:

Public Structure Test
Dim Name As String
Dim Values as Integer()

Public Sub New(N as String, V as Integer())
Name = N
Values = V
End Sub
End Structure

Seguidamente quiero inicializar un Array de estructuras Test:

Dim x as Test() = _
{New Test("a", {1, 2, 3}), _
New Test("b",{4, 5, 6})}

Pero con la sintaxis expuesta no es correcta en VB.NET
¿Como debo proceder si quiero Declarar e Inicializar a la vez?

Una vez más, gracias a todos.

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
27/09/2004 - 00:34 | Informe spam
Pero con la sintaxis expuesta no es correcta en VB.NET
¿Como debo proceder si quiero Declarar e Inicializar a la vez?



La sintaxis correcta es:

array = New Tipo() { elemento1, elemento2, ... }

Es decir:

Dim x as Test() = New Test() {New Test("a", New Integer() {1, 2, 3}), }

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#2 Anonimo
27/09/2004 - 00:52 | Informe spam
mmm...

Pues es tal y como lo estoy haciendo y el compilador me
indica: "Se esperaba: expresión"


Pero con la sintaxis expuesta no es correcta en VB.NET
¿Como debo proceder si quiero Declarar e Inicializar a




la vez?

La sintaxis correcta es:

array = New Tipo() { elemento1, elemento2, ... }

Es decir:

Dim x as Test() = New Test() {New Test("a", New Integer()


{1, 2, 3}), }

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo


.

Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
27/09/2004 - 00:59 | Informe spam
Pues es tal y como lo estoy haciendo y el compilador me
indica: "Se esperaba: expresión"



Fijate que debes hacerlo tanto para el array de Test como el de enteros que
le pasas al constructor.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#4 Pedro Luna Montalvo, MVP
27/09/2004 - 04:53 | Informe spam
Saludos,

La sintaxis de asignacion esta correcta para el arreglo de estructuras, pero
el problema esta en que no sirve en este caso para el arreglo de enteros.

La sentencia deberia ser:
Dim x As Test() = _
{
New Test("a", New Integer() {1, 2, 3}), _
New Test("b", New Integer() {4, 5, 6})
}

Saludos
Pedro Luna, MVP
Gye, Ecu

"44r0x0r44" escribió en el mensaje
news:324d01c4a415$a7d7c220$
Buenas noches lectores!

Una vez más he tropezado con un enigma, a ver si me podeis
ayudar (gracias por adelantado)

Tengo el siguiente Structure:

Public Structure Test
Dim Name As String
Dim Values as Integer()

Public Sub New(N as String, V as Integer())
Name = N
Values = V
End Sub
End Structure

Seguidamente quiero inicializar un Array de estructuras Test:

Dim x as Test() = _
{New Test("a", {1, 2, 3}), _
New Test("b",{4, 5, 6})}

Pero con la sintaxis expuesta no es correcta en VB.NET
¿Como debo proceder si quiero Declarar e Inicializar a la vez?

Una vez más, gracias a todos.
Respuesta Responder a este mensaje
#5 44r0x0r44
27/09/2004 - 13:01 | Informe spam
me fijo... lo testeo... y... no

Dim x as Test() = New Test() {valores...}

1.- Sigue dando error "se esperaba una expresion"
2.- Te has dejado el "=" después de New Test() ;)


Pues es tal y como lo estoy haciendo y el compilador me
indica: "Se esperaba: expresión"



Fijate que debes hacerlo tanto para el array de Test como


el de enteros que
le pasas al constructor.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo


.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida