Tengo una clase llamada baraja, la cual tiene un método llamado Cortar.
A este método le paso una array de cadena que contiene la baraja y el lugar por donde corto la baraja.
barajatemp1 contiene el contenido del array que se le ha pasado al método o función.
barajatemp2 es la baraja cortada que es la que devuelve el método.
Bien, hasta ahí todo correcto. Hasta ahora la aplicación me funciona dentro de lo que hice.
Mi cuestión va orientada a esto. El array que yo le paso también se "borra" y me ha
dejado un poco desconcertado, creía que era una copia (valor) con lo que trabaja y no el original.(referencia)
No es que sea un problema para la aplicación, pero si como duda.
Public Function CortarBaraja(otrabaraja As String[], lugar As Integer) As String[]
Dim barajatemp1 As New String[]
Dim barajatemp2 As New String[]
Dim x As Integer
barajatemp1 = otrabaraja
For x = lugar + 1 To barajatemp1.Count - 1
barajatemp2.Add(barajatemp1[x])
Next
barajatemp1.Remove((lugar + 1), (barajatemp1.Count - 1) - lugar)
For x = 0 To barajatemp1.Count - 1
barajatemp2.Add(barajatemp1[x])
Next
barajatemp1.Clear
Return barajatemp2
End
Dim barajatemp1 As New String[]
Dim barajatemp2 As New String[]
Dim x As Integer
barajatemp1 = otrabaraja
For x = lugar + 1 To barajatemp1.Count - 1
barajatemp2.Add(barajatemp1[x])
Next
barajatemp1.Remove((lugar + 1), (barajatemp1.Count - 1) - lugar)
For x = 0 To barajatemp1.Count - 1
barajatemp2.Add(barajatemp1[x])
Next
barajatemp1.Clear
Return barajatemp2
End
Creo que el problema esta en usar New.
Saludos