Subscribe to Feeds Subscribe to Tweeters
23 Май

Урок 4 Функции и процедуры.

Freesmska -> Уроки -> Урок 4 Функции и процедуры.
Будь в курсе. Подпишись по e-mail:       

уроки программирования

Привет. По просьбам читающих, после долгого перерыва продолжаю цикл статей о программирование на C#. Осталось вспомнить, о чем мы говорили последний раз. Бегло читаю последнюю статьи и понимаю, что продвинулись мы совсем не далеко.

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

Что нам предстоит сделать в этом уроке?! Познакомится с функциями и процедурами в C#.

Процедура – это подпрограмма, которая может вызываться в коде основной программы и производить какие либо действия с переданными в нее переменными.

Функция – это такая же процедура, только ей свойственно явное возвращение результат ее работы.

Чтобы стало ясно, приведу пример:

static void CopyString(string a, ref string b)
{
b = a+b;
}

static string ReturnString(string a, string b)
{
return a + b;
}

Из анализа приведенного кода видно, что процедура CopyString – не возвращает значений с помощью слова return, те на прямую. Она возвращает значения через ref – указатель. Подробнее о нем, вы можете почитать в книгах по C#, а можете не запариватся и просто запомнить, что если вам нужно поменять значение какой-либо переменной в процедуре и возвратить это значение не явно используйте ref.

Да чуть не забыл, ref можно применять как в функциях так и в процедурах и не один раз. Например:

static string ReturnString(string a, string b,ref string c)
{
c=a+b+” Test”;
return a + b;
}

Что будет если мы засунем переменные a,b,c в функцию?! Например

a=Hello
b=Artem
e = ReturnString(a,b,c);

Результат:

e = HelloArtem
c = HelloArtem Test

Как определить что перед вами процедура или функция и как вообще их писать?!

Запомните процедура всегда начинается со слова void, а функция с названия класса или типа, который она возвращает. Напрмер string в нашем случае.

Пишется процеру просто:

<модификатор доступа> Void <название> (параметры)
{
тело процедуры
}

Функция аналогично:

<модификатор доступа> <тип> <название> (параметры)
{
Тело функции
Return <тип>;
}

<модификатор доступа>: позволяет видеть или скрывать процедуры для их вызова, может быть: public private. Так же существуют можификатор static.

Подробнее о них посмотрите в исходнике урока. Добавлю только одно статические процедуры и функции (со словом статик) постоянно находятся в памяти компьютера и создаются при запуске программы, в то время как не статические создаются только во время создания экземпляра класса, к которому они принадлежат. Чтобы мои слова стали понятны, пора скачать и посмотреть исходник с комментариями.

Так с процедурами и функциями пока все). Хотя наверно стоит сказать, что процедуры и функции нужны для того, чтобы оптимизировать код программы:

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

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

[download id=»18″]

100% зрение без операций

Будь в курсе. Подпишись по e-mail:      

2 комментария по теме: “Урок 4 Функции и процедуры.”

  1. PreisJIV:

    Спасибо. Ваш план понравился. Жду с нетерпением продолжения. Единственное, домашнее задание дать забыли 🙁

  2. Tortuga:

    ссилочки то бажано обновити. А то исходнік загрузить неможливо. А так нічо .Пасиба .

У вас есть мнение? Оставьте свой отзыв: