Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Модификатор ref

Модификатор ref

Теперь рассмотрим, использование в C# модификатора ref (от reference – ссылочный). Ссылочные параметры нужны тогда, когда требуется позволить методу изменять данные, объявленные в контексте вызова (например, в функциях сортировки или обмена данными). Обратите внимание на различие между выходными и ссылочными параметрами.

• Выходные параметры не требуется инициализировать перед передачей их методу. Причина в том, что сам метод должен присвоить значения выходным параметрам.

• Ссылочные параметры необходимо инициализировать до того, как они будут переданы методу. Причина в том, что передается ссылка на существующую переменную. Если не присвоить переменной начальное значение, это будет означать использование неинициализированной переменной.

Давайте продемонстрируем использование ключевого слова ref с помощью метода, в котором осуществляется обмен значениями двух строк.

// Ссылочные параметры.
public static void SwapStrings(ref string s1, ref string s2) {
 string tempStr = s1;
 s1 = s2;
 s2 = tempStr;
}

Этот метод можно вызвать так.

static void Main(string[] args) {
 string s = "Первая строка";
 string s2 = "Вторая строка";
 Console.WriteLine("До: {0}, {1} ", s, s2);
 SwapStrings(ref s, ref s2);
 Console.WriteLine("После: {0}, {1} ", s, s2);
}

Здесь вызывающая сторона присваивает начальное значение локальным строковым данным (s и s2). По завершении вызова SwapStrings() строка s содержит значение "Вторая строка", a s2 – значение "Первая строка".

Оглавление книги


Генерация: 1.789. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз