Возврат массива из метода
//возвратить массив из метода.
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;
int[] factors;
factors = f.FindFactors(1000, out numfactors);
Console.WriteLine("Множители числа 1000: ");
for (int i = 0; i < numfactors; i++)
Console.Write(factors[i] + " ");
Console.WriteLine();
}
}
Обратите внимание на то, как указывается возвращаемый массив типа int. Этот синтаксис можно обобщить. Всякий раз, когда метод возвращает массив, он указывается аналогичным образом, но с учетом его типа и размерности. Например, в следующей строке кода объявляется метод someMeth(), возвращающий двумерный массив типа double.
public double[,] someMeth() { // ...