Wie Konstanten in Visual C # wie #define in C definieren?
Frage
In C können Sie Konstanten wie folgt definieren
#define NUMBER 9
so, dass überall dort, wo NUMBER erscheint im Programm mit 9.em Aber Visual C # ersetzt wird dies nicht tun. Wie wird es gemacht?
Lösung
public const int NUMBER = 9;
Sie müßten es in einer Klasse setzen irgendwo, und die Nutzung würde ClassName.NUMBER
Andere Tipps
Sie können dies in C # nicht. Verwenden Sie ein const int
statt.
static class Constants
{
public const int MIN_LENGTH = 5;
public const int MIN_WIDTH = 5;
public const int MIN_HEIGHT = 6;
}
// elsewhere
public CBox()
{
length = Constants.MIN_LENGTH;
width = Constants.MIN_WIDTH;
height = Constants.MIN_HEIGHT;
}
Überprüfen Sie Gewusst wie: Definieren Konstanten in C # auf MSDN:
In C # die
#define
Präprozessor Richtlinie kann nicht verwendet werden, um zu definieren, Konstanten, die in der Art und Weise, die typisch ist in C und C ++ verwendet.
in C-Sprache: #define
(z.B. #define Zähler 100)
in Assemblersprache: EQU (z.B. Gegen EQU 100)
in c # Sprache: nach Msdn refrence :
Sie verwenden #define
ein Symbol zu definieren. Wenn Sie das Symbol als Ausdruck verwenden, das die #if
Richtlinie übergeben wird, wird der Ausdruck true zu bewerten, wie das folgende Beispiel zeigt:
# define DEBUG
Die #define
Richtlinie kann nicht verwendet werden, um konstante Werte zu erklären, wie sie typischerweise in C und C ++ durchgeführt wird. Konstanten in C # wird als statische Mitglieder einer Klasse oder Struktur am besten definiert. Wenn Sie mehrere solche Konstanten haben, sollten eine separate „Constants“ Klasse erstellen, sie zu halten.
In C # pro MSDN Library, haben wir das „const“ Schlüsselwort, das die Arbeit des „#define“ Stichwortes tut in anderen Sprachen.
„..., wenn der Compiler trifft auf einen konstanten Identifikator in C # Quellcode (beispielsweise Monate), es den Literalwert direkt in die Zwischensprache ersetzt (IL) Code, der es produziert.“ ( https://msdn.microsoft.com/en-us/library/ms173119. aspx )
Initialisieren Konstanten zum Zeitpunkt der Erklärung, da es keine sie zu verändern.
public const int cMonths = 12;