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?

War es hilfreich?

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;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top