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

В C# массивы реализованы в виде объектов, а это означает, что метод может также возвратить массив. (В этом отношении C# отличается от C++, где не допускается возврат массивов из методов.) В качестве примера ниже приведена программа, в которой методFindFactors возвращает массив, содержащий множители переданного ему аргумента.

// Возвратить массив из метода, using System; class Factor {

*

/* Метод возвращает массив facts, содержащий множители аргумента num.

При возврате из метода параметр numfactors типа out будет содержать количество обнаруженных множителей. */ public int[] FindFactors(int num, out int numfactors) {

int[] facts = new int[80]; // размер массива 80 выбран произвольно int i, j;

// Найти множители и поместить их в массив facts. for(i=2, j=0; i < num/2 + 1; i++) if( (num%i)==0 )    {

facts[j] = i; j++;

}

numfactors = j ; return facts;

class FindFactors { static void Main {

Factor f = new Factor; int numfactors; inti] factors;

factors = f.FindFactors(1000, out numfactors);

Console.WriteLine("Множители числа 1000: "); for(int i=0; i < numfactors; i++)

Console.Write(factors[i] + " ") ;

Console.WriteLine ;

}

}

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

Множители числа 1000:

2 4 5 8 10 20 25 40 50 100 125 200 250 500

В классеFactorметодFindFactors объявляется следующим образом.

public int[] FindFactors(int num, out int numfactors) {

Обратите внимание на то, как указывается возвращаемый массив типаint.Этот синтаксис можно обобщить. Всякий раз, когда метод возвращает массив, он указывается аналогичным образом, но с учетом его типа и размерности. Например, в следующей строке кода объявляется методsomeMeth , возвращающий двумерный массив типаdouble.

public doublet,] someMeth    {    //    ...

Перегрузка методов

В C# допускается совместное использование одного и того же имени двумя или более методами одного и того же класса, при условии, что их параметры объявляются по-разному. В этом случае говорят, что методыперегружаются, а сам процесс называетсяперегрузкой методов.Перегрузка методов относится к одному из способов реализации полиморфизма в С#.

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

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

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT