PASSAGGIO PER REFERENCE E PER VALUE

I due linguaggi da noi analizzati, C# e VB.NET permetto di creare delle Function e delle Sub Routine. Per inizializzare queste “entità” sarà ovviamente necessario anche definire i tipi delle variabili che verranno inserite in input al momento della chiamata delle stesse. Oltre al tipo delle variabili però possono essere inserite anche dei parametri, o meglio “parole” che svolgono delle importanti funzioni. Tra le più importanti troviamo ByRef o ref, la prima utilizzata nel linguaggio VB.NET, la seconda in C#. Tali parole rendono il passaggio dei parametri “per riferimento” e non più “per valore”, come invece avviene di default. Andiamo ora a vedere cosa si intende con questi due termini.

Per VALORE: l’argomento passato in input viene copiato nel parametro che è usato dalla funzione o dalla sub routine, ma qualunque cosa venga fatta sul parametro, l’argomento che è stato passato non viene modificato, proprio perché il parametro è una copia dell’argomento passato in fase di chiamata.

Per RIFERIMENTO: in questo caso viene effettuato un passaggio del riferimento di memoria e non una copia. In questo caso però la procedura opera sulla stessa variabile di memoria che è stata passata in fase di chiamata. Perciò viene passato un reference type.

Concludiamo dicendo che ovviamente esiste la possibilità di richiedere un passaggio per valore, utilizzando l’espressione ByVal o val, ma come già detto, già di default i due linguaggi utilizzano questo tipo di passaggio dei parametri.

Lascia un commento

Progetta un sito come questo con WordPress.com
Comincia ora