Variabili statiche in C #
-
20-08-2019 - |
Domanda
In C #, c'è un modo per inserire una variabile statica in un metodo come VB.Net?
Static myCollection As Collection
Soluzione
Perché C # non supporta il metodo statico variabili?
D: In C ++, è possibile scrivere a metodo statico variabile e hanno a variabile a cui è possibile accedere solo dall'interno del metodo. C # no fornire questa funzione. Perché?
A: Ci sono due ragioni per cui C # non lo fa avere questa funzione.
Innanzitutto, è possibile ottenere quasi lo stesso effetto avendo a statico a livello di classe e metodo di aggiunta la statica richiederebbe un aumento complessità.
In secondo luogo, le statistiche a livello di metodo sono un po 'noto per causare problemi quando viene chiamato il codice ripetutamente o da più thread, e poiché le definizioni sono nel metodi, è più difficile trovare il definizioni.
Altri suggerimenti
No, non c'è, ma come è diverso avere una variabile statica a livello di classe?
In realtà se guardi in come viene implementata la condivisione, è un compilatore trucco che crea un campo statico sulla classe.
La cosa più vicina a di VB.NET Statico
è creare un campo nel tipo corrente. Diverso da quello C # non ha equivalenti.
No, CLR non lo supporta e VB.NET ricorre a trucchi del compilatore per consentirlo. Ugh.
Sono abbastanza sicuro che l'equivalente in C # sia const
: pertanto:
public const Collection myCollection = new Collection();
Non ho molta familiarità con VB.NET, quindi potrei essere fuori base, ma ciò ti consentirà di impostare una variabile che non può essere modificata.