Программа «зависнет»


Использование ключевых слов в методах


Download 49.89 Kb.
bet5/11
Sana18.06.2023
Hajmi49.89 Kb.
#1593438
TuriПрограмма
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
osnova tozasi javobla1

6. Использование ключевых слов в методах
Ключевое слово ref используется для передачи аргументов в метод по ссылке. В результате все изменения параметра в методе будут отражены в переменной при передаче элемента управления обратно в вызывающий метод. Для работы с параметром ref вызывающий метод должен явно использовать ключевое слово ref при передаче аргумента в метод. Аргумент, передаваемый в параметр ref, сначала следует инициализировать.
Ключевое слово out используется для передачи аргументов по ссылке. Оно похоже на ключевое слово ref, за исключением того, что ref требует инициализации переменной перед ее передачей. Для работы с параметром out определение метода и вызывающий метод должны явно использовать ключевое слово out. Несмотря на то что переменные, передаваемые в качестве аргументов out, могут не инициализироваться перед передачей, вызываемый метод должен присвоить значение перед возвратом метода. Различия ref и out состоят в cследующем:
Аргумент, передаваемый в параметр ref, сначала следует инициализировать (для out это необязательно).
параметру типа out перед завершением работы метода нужно присвоить значение (для out это необязательно).
поскольку out параметр может быть не проинициализирован, то его использование до инициализации приведёт к ошибке (с ref такого не будет).
Ключевые слова ref и out приводят к разным результатам во время выполнения, однако во время компиляции они не считаются частью сигнатуры метода. Поэтому, если единственное различие между методами заключается в том, что один метод принимает аргумент ref, а другой – out, они не могут быть перегружены. Опасно использовать передаваемые в метод параметры, как рабочие переменные. Для такой цели создайте локальные переменные.
Старайтесь ограничивать количество параметров примерно семью. Минимизируйте число возвратов из каждого метода. Тяжело понять логику метода, когда при анализе нижних строк приходится помнить о возможных выходах в верхних строках.
Пример использования изменяемых и выходных параметров в методе:
static void Add(ref int x, ref int y, out int sum)
{
sum = x + y;
}
static void Main()
{
Console.WriteLine("Введите 1-e число.");
string operand1 = Console.ReadLine();
int summand1 = Int32.Parse(operand1);
Console.WriteLine("Введите 2-e число.");
string operand2 = Console.ReadLine();
int summand2 = Int32.Parse(operand2);
int sum;
Add(ref summand1, ref summand2, out sum);
Console.WriteLine("{0} + {1} = {2}", summand1, summand2, sum);
// Delay.
Console.ReadKey();
}



Download 49.89 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling