2 просмотров

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

Стилизованная печатная плата с надписью

Дэвид Болтон — разработчик программного обеспечения, работавший в нескольких крупных фирмах, включая Morgan Stanley, PwC, BAE Systems и LCH.

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

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

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

Метод экземпляра

Существует два типа методов: метод экземпляра и статический метод. В этом введении рассматривается метод экземпляра.

Пример ниже определяет простой класс и вызывает его Тест. Этот пример представляет собой простую консольную программу, поэтому это разрешено. Обычно первым классом, определенным в файле C#, должен быть класс формы.

Можно иметь пустой класс, такой как этот класс Test , но это бесполезно. Хотя он выглядит пустым, он, как и все классы C#, наследуется от Object, который его содержит, и включает в себя конструктор по умолчанию в основной программе.

вар т = новый тест();

Этот код работает, но при запуске он ничего не делает, кроме создания экземпляра. т пустого тестового класса. Код ниже добавляет функцию, метод, который выводит слово «Hello».

с помощью системы;
пространство имен funcex1
класс Тест
публичная пустота SayHello ()
Console.WriteLine("Привет") ;
>
>
программа класса
статическая пустота Main (string [] args)
вар т = новый тест () ;
t.Привет() ;
Консоль.ReadKey() ;
>
>
>

Этот пример кода включает Консоль.ReadKey(), поэтому при запуске он отображает окно консоли и ожидает нажатия клавиш, таких как Enter, Space или Return (а не клавиш Shift, Alt или Ctrl). Без него он бы открыл окно консоли, вывел бы «Hello», а затем закрыл бы все в мгновение ока.

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

Если убрать слово публичный и попробуйте скомпилировать код, он завершается с ошибкой компиляции «funcex1.test.SayHello ()» недоступен из-за его уровня защиты». Если вы добавите слово «частный» вместо слова «общедоступный» и перекомпилируете, вы получите ту же ошибку компиляции. Просто измените его обратно на «общедоступный».

Слово пустота в функции означает, что функция не возвращает никаких значений.

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

  • Уровень доступа: общедоступный, частный и некоторые другие
  • Возвращаемое значение>: void или любой тип, например int
  • Имя метода: SayHello
  • Любые параметры метода: пока нет. Они определены в скобках () после имени метода

Код для определения другой функции MyAge():

общедоступный интервал MyAge()
вернуть 53;
>

Добавьте это сразу после Скажи привет() метод в первом примере и добавьте эти две строки перед Консоль.ReadKey().

var age = t.MyAge();
Console.WriteLine("Дэвиду много лет",возраст);

Запуск программы теперь выводит это:

Привет

Давиду 53 года,

var age = t.MyAge(); вызов метода вернул значение 53. Это не самая полезная функция. Более полезным примером является функция Sum электронной таблицы с массивом целых чисел, начальным индексом и количеством суммируемых значений.

Это функция:

публичная сумма с плавающей запятой (значения int [], int startindex, int endindex)
общая сумма = 0;
for (var index=startindex; indextotal += values[index];
>
общая сумма возврата;
>

Вот три варианта использования. Это код, который нужно добавить в Main() и вызвать для проверки функции Sum.

переменные значения = новый int[10] ;
Console.WriteLine(t.Sum(значения,0,2)); // Должно быть 6
Console.WriteLine(t.Sum(значения,0,9)); // должно быть 55
Console.WriteLine(t.Sum(значения,9,9)); // должно быть 10, так как 9-е значение равно 10

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

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

голоса
Рейтинг статьи
Статья в тему:  Почему вы не должны использовать точку при обмене текстовыми сообщениями
Ссылка на основную публикацию
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x