En Visual Basic, el mecanismo de paso pasa argumentos a un procedimiento. Este mecanismo de paso se especifica con una de las dos palabras clave : " ByVal " o " ByRef . " Estas palabras clave le permiten especificar si se pasa el valor de un argumento, o una referencia al valor de un argumento se pasa por el mecanismo del procedimiento. Evaluar el tipo de funcionalidad que necesita y designar la palabra clave que mejor se ajuste a ese tipo de funcionalidad. ¿Qué es " ByVal "?
" ByVal " es la palabra clave que indica el mecanismo de paso para pasar el valor de un argumento a un procedimiento. Al pasar un argumento por valor, Visual Basic copia el valor y lo inserta en una variable local en el procedimiento. La palabra clave " ByVal " es válida en los estados "declarar" , declaraciones de " funciones" , declaraciones de " operador" , declaraciones de "propiedad", y las declaraciones de "sub" . Independientemente del tipo de declaración, la palabra clave " ByVal " siempre se refiere al mecanismo de paso .
¿Qué es " ByRef "?
" ByRef " es la palabra clave que indica al mecanismo de paso pasar el argumento por referencia , también conocido como puntero en algunos documentos fundamentales de programación. Esto pasa una referencia directa del argumento del procedimiento . " ByRef " es la especificación por defecto cuando se pasa un argumento, pero se debe incluir la especificación para facilitar la lectura del código por otros. La palabra clave " ByRef " es válido en "declarar" las declaraciones, declaraciones de " función" , y las declaraciones de "sub" . Al igual que " ByVal ", " ByRef " siempre se refiere al mecanismo de paso , independientemente del tipo de sentencia .
Uso de " ByRef " y " ByVal "
¿Qué palabra clave se utiliza depende de la funcionalidad que necesita y con qué se trabaja . Las matrices se deben pasar por referencia , por lo que se utilice siempre " ByRef " con una matriz. Si desea evitar que cualquier modificación en el argumento y su elemento , se utiliza " ByVal " . Esto se debe a " ByVal " no permite la modificación . Si usted tiene que ser capaz de hacer modificaciones , utilice " ByRef " .
" ByRef " frente a " ByVal "
La principal diferente entre " ByRef " y " ByVal " es que " ByRef " permite un elemento del argumento de que modificar y " ByVal " no lo hace. " ByVal " sólo pasa un valor, donde " ByRef " pasa a una conexión. " ByVal " protege el argumento y su elemento de cualquier cambio y " ByRef " da acceso a efectos de modificación. " ByRef " es mejor para el rendimiento cuando se trata de grandes cantidades de código en el argumento porque " ByVal " tendría que copiar todo el código , ya que pasa al procedimiento .
< Br >