Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Модуль 4. Работа с файлами.

Передача типов значений с помощью ссылки

Передача типов значений с помощью значения

Пример: написать метод вычисляющий факториал числа, и возвращающий это значение.

static int factorial(int n){ int i, res; res = 1; for (i = 1; i <= n; i++) res = res * i; return res;}static void Main(string[] args){ int i;//независимая переменная for (i = 0; i <= 13;i++) Console.WriteLine("{0}! = {1}",i,factorial(i)); Console.ReadKey();}


Рисунок 1 - Пример выполнения

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

Рассмотрим пример подпрограммы ввода, обработки и вывода массива. "Ввести массив, заменить его элементы факториалами, вывести массив".

static void enter(out int[] massiv1) { int i, N; string s; //вводим число элементов Console.Write("Введите число элементов массива N="); s = Console.ReadLine(); N = Convert.ToInt32(s); //создаём массив необходимой длины massiv1 = new int[N]; //запускаем цикл по всем элементам массива for (i = 0; i < N; i++) { //вводим i-ый элемент Console.Write("Введите {0}-й элемент массива ", i); s = Console.ReadLine(); massiv1[i] = Convert.ToInt32(s); } }static void process(ref int[] massiv1) { for(int j=0;j< massiv1.Length;j++) { int f = 1; for (int i=2;i<=massiv1[j];i++) f=f*i; massiv1[j] = f; } }static void output(int[] mas) { Console.WriteLine("Список элементов массива"); foreach (int i in mas) Console.Write("{0} ", i); }static void Main(string[] args) { int[] my_massiv; enter(out my_massiv); process(ref my_massiv); output(my_massiv); Console.ReadKey(); }


Рисунок 2 - Пример выполнения

 

<== предыдущая лекция | следующая лекция ==>
 | Текстовые файлы
Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 253; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.