Shell   25-03-2023, 12:30
#1
Buenas!.

Pues estaba liado con el tema de los arrays. Wink

¿ 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í. Confused

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

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.