Подтвердить что ты не робот

Как определить константы в Visual С#, например #define в C?

В C вы можете определить константы, подобные этому

#define NUMBER 9

чтобы везде, где NUMBER появляется в программе, он заменяется на 9. Но Visual С# этого не делает. Как это делается?

4b9b3361

Ответ 1

public const int NUMBER = 9;

Вам нужно будет поместить его в класс где-нибудь, а использование будет ClassName.NUMBER

Ответ 2

Вы не можете сделать это на С#. Вместо этого используйте const int.

Ответ 3

Проверить Как определить константы в С# в MSDN:

В С# препроцессор #defineдиректива не может использоваться для определения константы в способе, который обычно используется в C и С++.

Ответ 4

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;  
}

Ответ 5

на языке c: #define (например, #define counter 100)

в языке ассемблера: equ (например, счетчик 100)

в языке С#: согласно msdn refrence: Вы используете #define для определения символа. Когда вы используете символ в качестве выражения, переданного директиве #if, выражение будет оцениваться как true, как показано в следующем примере:

# define DEBUG

Директива #define не может использоваться для объявления постоянных значений, как это обычно делается на C и С++. Константы в С# лучше всего определяются как статические члены класса или структуры. Если у вас есть несколько таких констант, подумайте о создании отдельного класса "Константы" для их хранения.

Ответ 6

В С# для каждой библиотеки MSDN мы имеем ключевое слово "const", которое выполняет работу ключевого слова "#define" на других языках.

"... когда компилятор встречает постоянный идентификатор в исходном коде С# (например, месяцы), он заменяет буквальное значение непосредственно на код промежуточного языка (IL), который он производит." (https://msdn.microsoft.com/en-us/library/ms173119.aspx)

Инициализировать константы во время объявления, так как их не изменять.

public const int cMonths = 12;