Читаем C# 4.0 полное руководство - 2011 полностью

В данном примере в методеSwap выполняется смена объектов, на которые ссылаются два его аргумента. До вызова методаSwap аргумент х ссылается на объект, содержащий значения 1 и 2, тогда как аргументуссылается на объект, содержащий значения 3 и 4. А после вызова методаSwap аргумент х ссылается на объект, содержащий значения 3 и 4, тогда как аргументуссылается на объект, содержащий значения 1 и 2. Если бы не параметры типаref,то перестановка в методеSwap не имела бы никаких последствий за пределами этого метода. Для того чтобы убедиться в этом, исключите параметры типаrefиз методаSwap .

Использование переменного числа аргументов

При создании метода обычно заранее известно число аргументов, которые будут переданы ему, но так бывает не всегда. Иногда возникает потребность создать метод, которому можно было бы передать произвольное число аргументов. Допустим, что требуется метод, обнаруживающий наименьшее среди ряда значений. Такому методу можно было бы передать не менее двух, трех, четырех или еще больше значений. Но в любом случае метод доАжен возвратить наименьшее из этих значений. Такой метод нельзя создать, используя обычные параметры. Вместо этого придется воспользоваться специальным типом параметра, обозначающим произвольное число параметров. И это делается с помощью создаваемого параметра типаparams.

Для объявления массива параметров, способного принимать от нуля до нескольких аргументов, служит модификаторparams.Число элементов массива параметров будет равно числу аргументов, передаваемых методу. А для получения аргументов в программе организуется доступ к данному массиву.

Ниже приведен пример программы, в которой модификаторparamsиспользуется для создания методаMinVal , возвращающего наименьшее среди ряда заданных значений.

// Продемонстрировать применение модификатора params.*

using System;

class Min {

public int MinVal(params int[] nums) { int m;

if(nums.Length ==0)    {

Console.WriteLine("Ошибка: нет аргументов."); return 0;

}

m = nums[0];

for(int i=l; i < nums.Length; i++) » if(nums[i] < m) m = nums[i];

return m;

}

}

class ParamsDemo { static void Main {

Min ob = new Min; int min;

int a = 10, b = 20;

// Вызвать метод с двумя значениями, min = ob.MinVal(a, b);

Console.WriteLine("Наименьшее значение равно " + min);

// Вызвать метод с тремя значениями, min = ob.MinVal(a, b, -1);

Console.WriteLine("Наименьшее значение равно " + min);

//Вызвать метод с пятью значениями, min = ob.MinVal(18, 23, 3, 14, 25);

Console.WriteLine("Наименьшее значение равно " + min);

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных