Buenas!.
Pues estaba liado con el tema de los arrays.
¿ Os acordáis de cuando os decía que si un array contiene 10 enteros y cada uno de estos ocupa 4 bytes que debería ocupar 40 bytes el total ?
Pues parece que no es así.
Código:
'Creamos y asignamos
Private tabla1[100] As Integer
Public Sub Main()
'Creamos
Dim tabla2 As Integer[]
'Asignamos
tabla2 = New Integer[100]
Randomize
Print "El objeto tabla1 ocupa: " & Str(Object.SizeOf(tabla1)) & " bytes"
Print "El objeto tabla2 ocupa: " & Str(Object.SizeOf(tabla2)) & " bytes"
'Llenamos el contenido de los arrays
tabla1 = LlenarArray(tabla1)
tabla2 = LlenarArray(tabla2)
Print "----------------------------------"
'No hay cambios
Print "El objeto tabla1 ocupa: " & Str(Object.SizeOf(tabla1)) & " bytes"
Print "El objeto tabla2 ocupa: " & Str(Object.SizeOf(tabla2)) & " bytes"
End
Public Function LlenarArray(tabla As Integer[]) As Integer[]
Dim longitud As Integer
longitud = tabla.Max
For i As Integer = 0 To longitud
tabla = Rand(0, 2147483647)
Next
Return tabla
End
Salida:
Cita:El objeto tabla1 ocupa: 400 bytes
El objeto tabla2 ocupa: 40 bytes
----------------------------------
El objeto tabla1 ocupa: 400 bytes
El objeto tabla2 ocupa: 40 bytes
Saludos