Shell 25-03-2023, 12:36
Buenas!.

En este ejemplo tenemos dos arrays, tabla1 y tabla2.

Vamos a asignar a tabla2 la referencia de tabla1
Anularemos la variable tabla1 y veremos que pasa con tabla2. ¿ Se perderá su referencia ?.
No se impacienten....comienza!!

Código:
Public Sub Ejemplo1()
 
  Dim tabla1 As Integer[]
  Dim tabla2 As Integer[]

  tabla1 = New Integer[100]
  
  MuestraDireccion("tabla1", tabla1)
  tabla2 = tabla1
  MuestraDireccion("tabla2", tabla2)    
  tabla1 = Null 'Hacemos nula
  MuestraDireccion("tabla1", tabla1)
  MuestraDireccion("tabla2", tabla2)    
 
End

Public Sub MuestraDireccion(nombre As String, tabla As Integer[])
 
  Print "La referencia de " & nombre & " es: " & Object.Address(tabla)
 
End

Salida:
 
Cita: 
La referencia de tabla1 es: 55AD39A9A518
La referencia de tabla2 es: 55AD39A9A518
La referencia de tabla1 es: 0
La referencia de tabla2 es: 55AD39A9A518

Tabla2 mantiene su referencia.

Saludos
Shell 25-03-2023, 12:30
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
Shell 24-03-2023, 17:35
Buenas!.

A gusto del consumidor. Pero sorprende al precio que encuentras 16GB.
Fijaros las referencias que se les hace a Linux.

¿Cuánta memoria necesita para ejecutar aplicaciones de Windows, Mac OS X o Linux?

Saludos
Páginas (566):    1 194 195 196 197 198 566   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 295
Último miembro: ncofre98
Temas del foro: 1,748
Mensajes del foro: 9,072
Últimos temas
Problemas con las interru...
Foro: General
Último mensaje por: guizans, 14-12-2025, 18:40
Respuestas: 5 - Vistas: 237
Scrolling un ScrollArea
Foro: Controles/Librerías/Componentes
Último mensaje por: Shordi, 12-12-2025, 07:24
Respuestas: 5 - Vistas: 249
Ordenar en un TableView
Foro: General
Último mensaje por: guizans, 08-12-2025, 23:06
Respuestas: 9 - Vistas: 933
Resultados dispares según...
Foro: Bases de Datos
Último mensaje por: guizans, 04-12-2025, 22:49
Respuestas: 6 - Vistas: 393
Mover un Result a una pos...
Foro: Bases de Datos
Último mensaje por: guizans, 30-11-2025, 19:25
Respuestas: 2 - Vistas: 221
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.