Урок #10 – Создание функций (методов класса)

Урок #10 – Создание функций (методов класса)

Для сокращения кода в программировании используются функции. Они позволяют вынести повторяющийся код в отдельное место. За урок мы научимся работать с функциями в языке C#.

Видеоурок

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


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


Точно такая же ситуация обстоит с переменным. В классах переменные называются полями, а вне классов - переменными.


Для создания функций необходимо указать возвращаемый тип данных, указать название и параметры. В случае когда функция ничего не возвращает, то указывается тип данных void


Перед типом данных всегда прописывается модификатор доступа. Сейчас мы их детально рассматривать не будем, так как это тема ООП. В уроке мы будем постоянно устанавливать модификатор public, тем самым будем говорить что функция доступна всем внутри класса.


Зачем static?

Поскольку мы хотим обращаться к функциям напрямую без создания объекта, то мы прописываем ключевое слово static. Оно говорит компилятору что функция принадлежит всему классу, а не конкретным объектам. 


В будущем мы более детально ознакомимся с данным модифактором, но пока будем представлять его как удобное слово для обращения к функциям.


Создание функции

На основе всех данных наша функция будет выглядеть следующим образом:

public static void test () {
	Console.WriteLine("Вывод чего-либо в консоль");
}

Функция выше не принимает никаких параметров и ничего не возвращает. Она просто пишет слово в консоль. Давайте разнообразим функцию и добавим параметр:

public static void test (string word) {
	Console.Write(word);
}

Теперь функция принимает параметр, который будет отображен в консоли.


Если функция должна что-либо вернуть, то прописываем тип данных который будет возвращен. Для возвращения данных используем ключевое слово return:

public static double test (double some_number) {
	some_number *= 2;
	return some_number;
}

Исходный код

Создание функций
using System;

namespace project {

    class Program {

        static void Main() {
            // Print("Hello");
            // string words = "Hello world";
            // Print(words);
            // Print();
            int res1 = Summa(5, 9);
            int a = 4, b = 7;
            int res2 = Summa(a, b);

            Print(res1.ToString());
            Print(res2.ToString());
        }

        public static void Print(string word) {
            Console.WriteLine(word);
        }

        public static int Summa(int x, int y) {
            return x + y;
        }


    }

}
Посмотреть остальной код можно после подписки на проект!

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Программа на C# .NET Windows Forms
7 уроков
Изучение C# WPF на практике. Создание программ на C#
10 уроков
Изучение ASP.NET Core MVC. Создание сайтов на C#
10 уроков
Xamarin Forms / Мобильные приложения на C#
10 уроков
Разработка 2D игры на C# WinForms
8 уроков
Изучение C# и создание Windows программ
Комментарии (2)
Добавить комментарий

Ефрем 01 ноября 2022 в 13:47

Консоль сразу закрывается, а команда Console.ReadKey - считывается как ошибка. Пожалуйста, помогите решить проблему
Ответить

Maks 06 ноября 2022 в 17:09

Может вы забыли добавить скобки в конце? ( Console.ReadKey() )

Semen 11 октября 2022 в 18:25

Имя "el" не существует в текущем контексте. [project]
подскажите как устранить ошибку, почему не распознаёт?
Ответить

gloomy 14 ноября 2022 в 19:26

foreach(byte el in digits)
Если после этого цикла поставить ; то мы как бы закроем строку, и следующие строки будут красными, из-за того что, типа не видят переменной el.
И я как раз таки подозреваю что вы так и сделали, убирайте точку с запятой, код должен заработать