Методы в C#

Методы также называются функциями. Методы позволяют определить логику в одном месте и использовать ее в нескольких местах.

Синтаксис:

[attributes]
access-modifier return-type method-name(parameters)
{
MethodBody
}

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

Приведем пример для записи нечетных чисел.

namespace SampleMethod
{
    class Program
    {
        public static void Main()
        {
            OddNumbers();
        }
        public static void OddNumbers()
        {
            int Start = 1;
            while (Start <= 21)
            {
                Console.WriteLine(Start);
                Start = Start + 2;
            }
        }
    }
}

или мы можем написать:

namespace SampleMethod
{
    class Program
    {
        public static void Main()
        {
            Program a = new Program();
            a.OddNumbers();
        }
        public  void OddNumbers()
        {
            int Start = 1;
            while (Start <= 21)
            {
                Console.WriteLine(Start);
                Start = Start + 2;
            }
        }
    }
}

Когда мы запустим консольную программу, она напечатает все нечетные числа от 1 до 21.

Когда вы пишете статический метод, вам не нужно создавать экземпляр метода, который вам нужен для создания экземпляра класса. В приведенном выше примере возвращаемый тип метода OddNumbers недействителен. но давайте возьмем пример с возвращаемым типом. Поэтому мы добавим метод int с типом возвращаемого целого числа. Он будет отображать сумму 2-х чисел 3 и 5:

namespace SampleMethod
{
    class Program
    {
        public static void Main()
        {
            Program a = new Program();
            a.OddNumbers();
           int sum =  a.Add(3,5);
           Console.WriteLine(sum);
        }
        public int Add(int a , int b)
        {
            return a + b;
        }
        public  void OddNumbers()
        {
            int Start = 1;
            while (Start <= 21)
            {
                Console.WriteLine(Start);
                Start = Start + 2;
            }
        }
    }
}

Статические и экземплярные методы:

  • Когда объявление метода включает статический модификатор, который называется статическим методом, но когда нет модификатора доступа, известен как метод экземпляра.
  • Статический метод вызывается с использованием имени класса, но метод экземпляра вызывается с использованием экземпляра класса
  • Можно создать множественный экземпляр класса, и каждый экземпляр имеет свой собственный отдельный метод, но когда метод статичен, экземпляр этого метода отсутствует

Параметры метода:

У нас есть 4 типа параметров метода.

  • Параметр параметра
    • Он создает копию переданного параметра
  • Справочный параметр
    • Он относится к той же переменной, которая была передана в метод. Все изменения, внесенные в параметр в методе, будут отражены в этой переменной
  • Параметр
    • Вы можете использовать это, когда хотите, чтобы ваш метод возвращал более одного значения
  • Массивы параметров
    • Ключевое слово params позволяет создать переменную no аргументов внутри метода.

Мы примем пример, чтобы лучше понять его.

namespace MethodParameters
{
    class Program
    {
        public static void Main()
        {
            int i = 0;
            SimpleMethod(i);
            Console.WriteLine(i);
        }
public static void SimpleMethod(int j)
{
j= 500;
}
}
}

В приведенном выше примере i и j указывают на разные ячейки памяти. Таким образом, в операции одна переменная не влияет на другую переменную.

namespace MethodParameters
{
    class Program
    {
        public static void Main()
        {
            int i = 0;
            SimpleMethod(ref i);
            Console.WriteLine(i);
        }
public static void SimpleMethod(ref int j)
{
j= 500;
}
}
}

В приведенном выше примере i и j указывают на то же место памяти и имеют то же значение, что и 500.

namespace MethodParameters
{
    class Program
    {
        public static void Main()
        {
            int Sum = 0;
            int Product=0;
            Calculate(100,200,out Sum, out Product );
            Console.WriteLine("Sum = {0} && Product = {1}", Sum, Product);
        }
public static void Calculate(int a,int b, out int sum, out int product)
{
sum = a + b;
product = a * b;
}
}
}

В приведенном выше примере мы хотим, чтобы наш метод возвращал более одного параметра. поэтому нам нужно определить ключевое слово в определении метода и при вызове метода.

Массивы параметров:

namespace MethodParameters
{
    class Program
    {
        public static void Main()
        {
            int[] Numbers = new int[3];
Numbers[0] = 100;
Numbers[1] = 200;
Numbers[2] = 300;
ParamsMethod(Numbers);
}
public static void ParamsMethod(params int[] numbers)
{
Console.WriteLine("There are {0} elements", numbers.Length);
foreach (int i in numbers )
{
Console.WriteLine(i);
}
}
}
}

Нам нужно использовать ключевое слово «params» для объявления параметра в методе method.it должен быть последним параметром в объявлении метода. Вы можете отправить список аргументов с разделителями-запятыми.

Параметры метода и аргументы метода.
Когда мы объявляем параметры в методе, они называются параметрами метода, но при вызове метода нам необходимо передать параметры, а id = s - аргументы метода.

Источник: http://www.csharpstar.com/methods-in-csharp/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Adblock
detector