2009-09-11 18 views
6

Questo è davvero semplice domanda e io sono sorpreso devo chiedere, ma ...Readonly variabile locale in VB.Net

Come si fa a dichiarare una variabile locale in sola lettura in VB.Net?

Java e C++ hanno variabili locali finali/const, quindi sono sicuro che VB.Net deve averli, ma non riesco a trovare la sintassi per esso.

risposta

7

Sfortunatamente, VB.NET supporta solo readlly campi localmente non in lettura. VB.NET non ha nulla di simile al modificatore const di C++ per contrassegnare una variabile come readonly.

A seconda del tipo di variabile, il modificatore di Constforza fare il lavoro, ma ciò non significa la stessa cosa di C++ s 'const. In VB.NET, Const è semplicemente una variabile il cui valore è noto al momento della compilazione, consentendo così al compilatore di sostituire tutti gli usi di tale variabile nel codice sorgente con il valore stesso.

Mentre il compilatore vi impedirà di modificare una variabile Const si sta fortemente limitato nelle opzioni per i tipi che si possono contrassegnare come Const poiché la maggior parte tipi non possono fornire un valore noto al momento della compilazione.

+0

Sei serio? Il Java inferiore ha qualcosa .Net non ha? Wow! Sono un po 'scioccato dal fatto che una supervisione così grande sia scivolata attraverso – mcjabberz

+1

Anch'io vorrei vedere questo concetto. Tuttavia in realtà preferisco che tutti i locals siano implicitamente in sola lettura e solo attraverso un modificatore speciale (come F # 's mutable') una variabile può essere cambiata dopo l'intializzazione. –