Мы уже умеем объявлять классы и объекты, описывать свойства, но этого не достаточно, для того, чтобы программа начала работать. Естественно, что нам необходимо, чтобы созданные нами объекты выполняли какие-то действия, выводили слова на экран или решали задачи. Для этого нам нужно рассказать компьютеру о том, что и в какой последовательности он должен сделать, мы должны описать метод.
Как мы можем объяснить компьютеру при помощи языка C#, порядок действий. Для этого, конечно существует определенный код, объявление кода метода выглядит так:
void SayHello () { }
Этот фрагмент кода похож на объявление класса, да, это так, мы объявляем метод, и внутри фигурных скобок даем пояснение к выполнению этого метода.
using System; using System.Collections.Generic; using System.Text; namespace sample1 { class Program { static void Main(string[] args) { Console.WriteLine("Ура!"); SayHello(); Console.ReadLine(); Console.ReadKey(); } static void SayHello() { Console.WriteLine("Привет!"); } } }
Попробуем вызвать этот метод, на экране появится слово «Привет!». Это самый простой метод, поэтому и код тоже очень простой. Рассмотрим подробнее, что же мы сказали компьютеру этим кодом. Слово Void – это пустота, в фигурных скобках мы указали действие: на консоли написать в линию слово «привет». Компьютер понимает это следующим образом: после пустоты нужно написать слово «привет» и после этого вернуться к пустоте. Но в этом коде мы не указали самого главного, мы не сказали компьютеру, когда нужно вывести это слово на монитор, для этого нужно поставить «SayHello ();», обратите внимание на то, что в конце этой фразы стоит точка с запятой, а во фразе объявления метода этого знака нет.
Рассмотрим действие метода еще на одном примере. Мы хотим вывести на экран следующее: Привет Иван Привет Андрей Привет Алеша Мы можем это сделать, создав следующий код: using System; using System.Collections.Generic; using System.Text; namespace sample1 { class Program { static void Main(string[] args) { Console.WriteLine(“Ура!”); SayHello(); WriteHelloIvan(); WriteHelloAndru(); WriteHelloAlex(); Console.ReadKey(); } static void SayHello () { Console.WriteLine (“Привет!”); } static void WriteHelloIvan() { Console.WriteLine(“Привет Иван”); } static void WriteHelloAndru() { Console.WriteLine(“Привет Андрей”); } static void WriteHelloAlex() { Console.WriteLine(“Привет Алеша”); } } }
Вы уже обратили внимание, что эти три метода очень похожи. Мы можем сократить объем этого кода, просто написав один метод «WriteHello», дополнив его необходимыми параметрами, и при каждом вызове этого метода, передавать разные значения.
static void WriteHello(string some_name) { Console.WriteLine("Привет " + some_name); } И вызвать метод следующим образом: using System; using System.Collections.Generic; using System.Text; namespace sample1 { class Program { static void Main(string[] args) { Console.WriteLine("Ура!"); SayHello(); WriteHello("Ivan"); WriteHello("Andru"); WriteHello("Alex"); Console.ReadKey(); } static void SayHello () { Console.WriteLine ("Привет!"); } static void WriteHello(string some_name) { Console.WriteLine("Привет " + some_name); } } }
Обратите внимание, на сколько, мы сэкономили пространство кода, и время на его написание. Компьютер же понимает следующее: каждый раз при вызове этого метода я буду подставлять строку символов с каким-либо именем. Любая подставляемая строка должна выводиться после слова «Привет».