Return(ВозвращаемоеЗначение);
}
Для чего используют функции:
1. Если какой-то фрагмент кода встречается несколько раз, то его лучше поместить в функцию и вызывать из текста основной программы. Это упростит код.
2. Память под переменные, которые используются в функциях выделяется только в момент обращения к функции и высвобождается после завершения ее работы.
Вызов функции осуществляется из основного текста программы следующим способом:
переменная = ИмяМетода(СписокФактическихАргументов);
Как только в программе зафиксирован вызов функции, управление передается телу функции. В ходе выполнения тела функции, получаем некоторый результат, который необходимо вернуть в тело основной программы. Для этого предназначен оператор return. Оператор return говорит о том, что выполнение функции надо завершить. Оператор return может находится не только в конце функции. Тип функции и тип результата должны совпадать. Оператор return может отсутствовать совсем. Тогда функция называется процедурой и тип возвращаемого ей значения указывается void.
Пример без параметров
static void Main(string[] args)
{
string message = Hello(); // вызов первого метода
Console.WriteLine(message);
Sum(); // вызов второго метода
Console.ReadLine();
}
static string Hello()
{
return "Hell to World!";
}
static void Sum()
{
int x = 2;
int y = 3;
Console.WriteLine("{0} + {1} = {2}", x, y, x+y);
}
Пример с параметрами:
static int Sum(int x, int y)
{
return x + y;
}
static void Main(string[] args)
{
int x = 10;
int z = Sum(x, 15);
Console.WriteLine(z);
Console.ReadLine();
}
Пример с необязательными параметрами
static int OptionalParam(int x, int y, int z=5, int s=4)
{
return x + y + z + s;
}
static void Main(string[] args)
{
OptionalParam(2, 3);
OptionalParam(2,3,10);
Console.ReadLine();
}
Передача массива в функцию.
Инициализированный одномерный массив можно передать в метод. Например, следующая инструкция передает массив в метод печати.
C#
int[] theArray = { 1, 3, 5, 7, 9 }; PrintArray(theArray);В следующем примере кода показана частичная реализация метода печати.
C#
void PrintArray(int[] arr) { // Method code. }Инициализацию и передачу нового массива можно выполнить в рамках одного шага, как показано в следующем примере.
C#
PrintArray(new int[] { 1, 3, 5, 7, 9 });Пример
Описание
В следующем примере массив строк инициализируется и передается в качестве аргумента метода PrintArray. Затем метод отображает элементы этого массива. Затем вызываются методы ChangeArray и ChangeArrayElement для демонстрации того, что отправка аргумента массива по значению не запрещает вносить изменения в элементы массива.
static void PrintArray(string[] arr) { for (int i = 0; i < arr.Length; i++) { System.Console.Write(arr[i] + "{0}", i < arr.Length - 1 ? " " : ""); } System.Console.WriteLine(); } static void ChangeArray(string[] arr) { arr = (arr.Reverse()).ToArray(); System.Console.WriteLine("arr[0] is {0} in ChangeArray.", arr[0]); } static void ChangeArrayElements(string[] arr) { arr[0] = "Sat"; arr[1] = "Fri"; arr[2] = "Thu"; System.Console.WriteLine("arr[0] is {0} in ChangeArrayElements.", arr[0]); } static void Main() { string[] weekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; PrintArray(weekDays); ChangeArray(weekDays); System.Console.WriteLine("Array weekDays after the call to ChangeArray:"); PrintArray(weekDays); System.Console.WriteLine(); ChangeArrayElements(weekDays); System.Console.WriteLine("Array weekDays after the call to ChangeArrayElements:"); PrintArray(weekDays); }}
Дата добавления: 2017-08-01; просмотров: 558;