Въведение във функциите в C #

click fraud protection

В C #, функцията е начин за опаковане на код, който прави нещо и след това връща стойността. За разлика от C, C ++ и някои други езици, функциите не съществуват сами по себе си. Те са част от обектно-ориентирана подход към програмирането.

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

В C # функция може да се нарече функция-член - тя е член на клас - но тази терминология е останала от C ++. Обичайното име за него е метод.

Методът на инстанцията

Има два типа методи: например метод и статичен метод. Това въведение обхваща метода на инстанцията.

Примерът по-долу дефинира прост клас и го нарича Тест. Този пример е проста конзолна програма, така че това е позволено. Обикновено първият клас, определен във файла C #, трябва да бъде класът на формулярите.

Възможно е да има празен клас като този клас тест {}, но не е полезно. Въпреки че изглежда празен, той - като всички C # класове - наследява от обекта, който го съдържа и включва по подразбиране конструктор в основната програма.

instagram viewer
var t = нов тест ();

Този код работи, но няма да направи нищо при стартиране, освен да създаде екземпляр T от празния тестов клас. Кодът по-долу добавя функция, метод, който извежда думата "Здравей".

използване на System;
пространство на имената funcex1
{
клас Тест
{
публично невалидно SayHello ()
{
Console. WriteLine ("Здравей");
}
}
клас програма
{
static void Main (string [] аргументи)
{
var t = нов тест ();
T. Кажи здравей() ;
Console. ReadKey ();
}
}
}

Този пример включва код Console. ReadKey (), така че когато се стартира, той показва прозореца на конзолата и очаква ключов запис като Enter, Space или Return (не клавишите Shift, Alt или Ctrl). Без него той ще отвори прозореца на конзолата, ще изведе "Здравей" и след това ще затвори всички с миг на око.

Функцията Кажи здравей е приблизително толкова проста функция, колкото можете да имате. Това е обществена функция, което означава, че функцията е видима извън класа.

Ако премахнете думата обществен и се опитайте да компилация кода, той се проваля с грешка при компилация "funcex1.test. SayHello () 'е недостъпен поради нивото на защита. "Ако добавите думата" private ", където думата public беше и се прекомпилира, получавате същата грешка при компилиране. Просто го променете обратно на „обществено“.

Думата празнота във функцията означава, че функцията не връща никакви стойности.

Характеристики на определението на типичната функция

  • Ниво на достъп: публичен, частен плюс някои други
  • Връщана стойност>: void или всякакъв тип като int
  • Име на метода: SayHello
  • Всякакви параметри на метода: засега няма. Те са определени в скобите () след името на метода

Кодът за дефиницията на друга функция, MyAge (), е:

public int MyAge ()
{
връщане 53;
}

Добавете това веднага след Кажи здравей() метод в първия пример и добавете тези два реда преди Console. ReadKey ().

вар възраст = t. Моята възраст();
Console. WriteLine („Дейвид е на {0} години“, възраст);

Изпълняването на програмата извежда следното:

Здравейте
Дейвид е на 53 години,

Най- вар възраст = t. Моята възраст(); call към метода върна стойността 53. Това не е най-полезната функция. По-полезен пример е функцията Сума на електронната таблица с масив от целочислени, началният индекс и броя на стойностите, които трябва да се сумират.

Това е функцията:

public float Sum (int [] стойности, int startindex, int endindex)
{
var общо = 0;
за (var index = startindex; индекс <= endindex; индекс ++)
{
общо + = стойности [индекс];
}
обща възвръщаемост;
}

Ето три случая на употреба. Това е кодът, който трябва да добавите в Main () и да извикате, за да тествате функцията Sum.

var стойности = new int [10] {1, 2, 3, 4, 5, 6, 7, 8, 9,10};
Console. WriteLine (t. Сума (стойности, 0,2)); // Трябва да е 6
Console. WriteLine (t. Сума (стойности, 0,9)); // трябва да е 55
Console. WriteLine (t. Сума (стойности, 9,9)); // трябва да бъде 10, тъй като 9-та стойност е 10

The For контур добавя стойностите в диапазона startindex до endindex, така че за startindex = 0 и endindex = 2, това е сумата от 1 + 2 + 3 = 6. Докато за 9,9 то само добавя стойностите на един [9] = 10.

В рамките на функцията, локалната променлива общо се инициализира до 0 и след това има добавени съответните части от стойностите на масива.

instagram story viewer