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
Mostrar la cita
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
#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"


Mostrar la cita
la vez?
Mostrar la cita
{1, 2, 3}), }
Mostrar la cita
#3 Eduardo A. Morcillo [MS MVP VB]
27/09/2004 - 00:59 | Informe spam
Mostrar la cita
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
#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.
#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() ;)


Mostrar la cita
el de enteros que
Mostrar la cita
Ads by Google
Search Busqueda sugerida