Метод — это группа операторов, которые вместе выполняют задачу. Каждая программа на C # имеет хотя бы один класс с методом Main.
Чтобы использовать метод, вам нужно —
- Определите метод
- Вызовите метод
Определение методов в C #
Когда вы определяете метод, вы в основном объявляете элементы его структуры. Синтаксис для определения метода в C # следующий:
<Access Specifier> <Return Type> <Method Name>(Parameter List) { Method Body }
Ниже приведены различные элементы метода —
-
Спецификатор доступа — определяет видимость переменной или метода из другого класса.
-
Тип возврата — метод может возвращать значение. Тип возвращаемого значения — это тип данных значения, которое возвращает метод. Если метод не возвращает никаких значений, тип возвращаемого значения void .
-
Имя метода — имя метода является уникальным идентификатором и учитывает регистр. Он не может совпадать с любым другим идентификатором, объявленным в классе.
-
Список параметров — заключенный в скобки, параметры используются для передачи и получения данных из метода. Список параметров относится к типу, порядку и количеству параметров метода. Параметры являются необязательными; то есть метод может не содержать параметров.
-
Тело метода — содержит набор инструкций, необходимых для выполнения требуемого действия.
Спецификатор доступа — определяет видимость переменной или метода из другого класса.
Тип возврата — метод может возвращать значение. Тип возвращаемого значения — это тип данных значения, которое возвращает метод. Если метод не возвращает никаких значений, тип возвращаемого значения void .
Имя метода — имя метода является уникальным идентификатором и учитывает регистр. Он не может совпадать с любым другим идентификатором, объявленным в классе.
Список параметров — заключенный в скобки, параметры используются для передачи и получения данных из метода. Список параметров относится к типу, порядку и количеству параметров метода. Параметры являются необязательными; то есть метод может не содержать параметров.
Тело метода — содержит набор инструкций, необходимых для выполнения требуемого действия.
пример
В следующем фрагменте кода показана функция FindMax, которая принимает два целых значения и возвращает большее из двух значений. Он имеет общедоступный спецификатор доступа, поэтому к нему можно получить доступ извне класса, используя экземпляр класса.
class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; } ... }
Вызов методов в C #
Вы можете вызвать метод, используя имя метода. Следующий пример иллюстрирует это —
using System; namespace CalculatorApplication { class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; } static void Main(string[] args) { /* local variable definition */ int a = 100; int b = 200; int ret; NumberManipulator n = new NumberManipulator(); //calling the FindMax method ret = n.FindMax(a, b); Console.WriteLine("Max value is : {0}", ret ); Console.ReadLine(); } } }
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Max value is : 200
Вы также можете вызывать открытый метод из других классов, используя экземпляр класса. Например, метод FindMax принадлежит классу NumberManipulator , его можно вызвать из другого класса Test .
using System; namespace CalculatorApplication { class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if(num1 > num2) result = num1; else result = num2; return result; } } class Test { static void Main(string[] args) { /* local variable definition */ int a = 100; int b = 200; int ret; NumberManipulator n = new NumberManipulator(); //calling the FindMax method ret = n.FindMax(a, b); Console.WriteLine("Max value is : {0}", ret ); Console.ReadLine(); } } }
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Max value is : 200
Рекурсивный вызов метода
Метод может вызывать сам себя. Это известно как рекурсия . Ниже приведен пример, который вычисляет факториал для данного числа с использованием рекурсивной функции:
using System; namespace CalculatorApplication { class NumberManipulator { public int factorial(int num) { /* local variable declaration */ int result; if (num == 1) { return 1; } else { result = factorial(num - 1) * num; return result; } } static void Main(string[] args) { NumberManipulator n = new NumberManipulator(); //calling the factorial method {0}", n.factorial(6)); Console.WriteLine("Factorial of 7 is : {0}", n.factorial(7)); Console.WriteLine("Factorial of 8 is : {0}", n.factorial(8)); Console.ReadLine(); } } }
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Factorial of 6 is: 720 Factorial of 7 is: 5040 Factorial of 8 is: 40320
Передача параметров в метод
Когда вызывается метод с параметрами, необходимо передать параметры в метод. Существует три способа передачи параметров в метод —
Этот метод копирует фактическое значение аргумента в формальный параметр функции. В этом случае изменения, внесенные в параметр внутри функции, не влияют на аргумент.
Этот метод копирует ссылку на ячейку памяти аргумента в формальный параметр. Это означает, что изменения, внесенные в параметр, влияют на аргумент.
Этот метод помогает возвращать более одного значения.