Меню сайта
Категории раздела
| HTML [44] |
| Visual C++ и MFC [21] |
| c++ [78] |
| php [19] |
| Javascript [15] |
| C# [51] |
| загрузки [0] |
|
XNA [10]
создание игр с помощью xna
|
Наш опрос
Друзья сайта
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
| Главная » Статьи » C# |
Урок 28
class Test { static void SomeFunction1(int a) { a=12; //Изменяем копию параметра функции } static void SomeFunction2(ref int a) { a=55; //Изменяем оригинал параметра функции } public static void Main() { int z=23; SomeFunction1(z); Console.WriteLine(z); //Напечатается 23 SomeFunction2(ref z); Console.WriteLine(z); //Напечатается 55 } } Обратите внимание, что при вызове функции SomeFunction2 мы опять используем ключевое слово ref (как и при объявлении этой функции): ... SomeFunction2(ref z); ... Параметр out аналогичен параметру ref, только при его использовании в функцию можно передавать неинициализированные переменные (т. е. переменные с незаданными начальными значениями). Вот пример: class Test { static void SomeFunction2(ref int a) { a=55; } static void SomeFunction3(out int a) { a=66; } public static void Main() { int z=0; //Переменную z надо обязательно инициализировать SomeFunction2(ref z); Console.WriteLine(z); //Напечатается 55 int y; //Переменную y можно не инициализировать SomeFunction3(out y); Console.WriteLine(y); //Напечатается 66 } } При вызове такой функции обязательно использование ключевого слова out. | |
| Просмотров: 526 | Рейтинг: 0.0/0 |
| Всего комментариев: 0 | |