Главная » C# » Использование переменных и констант в Visual C# (Sharp)

0

Одной из основных концепций в программах на С# является использование перенных. Переменную удобно рассматривать как область памяти, в которой можно хранить данные для дальнейшего использования. Это позволят с легкостью перещать данные внутри программы.

Работать с проектом Ехашр1еЗ было бы несколько легче, если бы мы могли опредить выводимое сообщение в начале метода. Таким образом, в случае необходимти изменить сообщение, это можно было бы сделать намного легче. В его тепешнем виде, если мы добавим дополнительный код перед вызовом метода Console.WriteLineO, то нам придется прокручивать исходный код для того, чты найти текст сообщения, который нужно изменить. Идеальным решением этой проблемы будет использование переменной, т. к. мы можем определить необходые данные (в данном случае — выводимое сообщение), которые мы можем иользовать в программе позже,

namespace Example3 (

public class Classl

(

public static void HelloWorldO

{

// Переменная, хранящая выводимое сообщение, string message = "hello, world"; Console.WriteLine(message);

}

}

}

В  предыдущем   коде   мы   определили  строковую   переменную  (string   variable)

message. После этого мы можем в дальнейшем ссылаться на переменную message,

когда нам необходимо поместить ее содержимое в код. В примере содержимое переменной message помещается в список параметров  при  вызове  метода Console .WriteLine О,  который  в  данном  случае  работает таким  же  образом,  как и раньше. Но на этот раз мы определили выводимое сообщение в отдельном опаторе.

Таким образом, использование переменной может быть очень полезным. Но перенные также имеют и другие аспекты, а именно свойство, называемое областью видимости.  Переменная  message имеет  область  видимости   на  уровне  метода. Это означает, что она доступна только внутри метода, в котором она определена. Рассмотрим следующий код:

public static void HelloWorld()

{

// Выводимое сообщение.

string message = "hello, world"; Console.WriteLine(message);

}

public static void DisplayMessageText()

{

Console.WriteLine("The message text is: "); Console.WriteLine(message);

Метод DisplayMessageText () сообщает нам о содержимом сообщения, выводя на экран  две  строчки  текста.  Но  компилятор  отказывается  компилировать этот  код, т. к. он  знает, что  переменная message недоступна методу DisplayMessageText() по причине ограничения ее области видимости методом HelloWorld ().

Чтобы исправить эту проблему, переменной message необходимо присвоить оасть видимости на уровне класса, для чего ее нужно переместить в начало Опредения класса. (Так как эта переменная используется методами, обозначенными static, ее также необходимо обозначить static.)

public class Classl

{

// Выводимое сообщение.

static string message = "hello, world";

public static void HelloWorld() (

Console.WriteLine(message);

}

public static void DisplayMessageText()

{

Console.WriteLine("The message text is: "); Console.WriteLine(message);

}

}

Теперь переменную message могут использовать все методы класса Classl. Вы уаете намного больше об области видимости на уровне метода и на уровне класса, а также о ключевых словах public и static по  мере  освоения материала  в этой книге.

В то время  как совместное использование переменной несколькими методами класса может быть полезным, иногда это не является благоразумным. Методы мут изменять значение переменных в процессе обработки, что может вызвать нредсказуемые результаты в дальнейшем. Чтобы предотвратить изменения значия, следует вместо переменной использовать константу. Константы объявляются с помощью ключевого слова const:

// Выводимое сообщение.

const string MESSAGE = "hello, world";

public static void HelloWorld()

{

Console.WriteLine(MESSAGE);

}

public static void DisplayMessageText() (

Console.WriteLine("The message text is: ");

Console.WriteLine(MESSAGE);

}

Имена констант всегда должны задаваться прописными  буквами.  Изменить  значие константы нельзя ни при  каких обстоятельствах.  Так,  например,  следующий код не скомпилируется:

// Выводимое сообщение,

const string MESSAGE = "hello, world"; public static void HelloWorldO

(

MESSAGE = "goodbye, world"; Console.WriteLine(MESSAGE);

}

А теперь, получив немного практического опыта работы с С#, рассмотрим, каким образом код С# в Visual С# Express превращается в программу, которая может иолняться под управлением операционной системы Windows.

Источник: Гросс  К. С# 2008:  Пер. с англ. — СПб.:  БХВ-Петербург, 2009. — 576 е.:  ил. — (Самоучитель)

По теме:

  • Комментарии