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

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

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

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

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

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

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

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

  var t = new Test ();  

data-type = “code”>

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

  using System; 
namespace funcex1
{
class Test
{
public void SayHello ()
{
Console.WriteLine ("Hello");
}
}
Программа класса
{
static void Main (string [] args)
{
var t = новый тест ();
t.SayHello ();
Console.ReadKey ();
}
}
}

data-type = “code”>

Этот пример кода включает Console.ReadKey () , поэтому при его запуске , он отображает окно консоли и ожидает ключевого ввода, такого как Enter, Пробел или Return (не клавиши Shift, Alt или Ctrl). Без него он открывал бы окно консоли, выводил бы “Hello”, а затем закрывал бы все в мгновение ока.

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

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

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

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

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

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

  public int MyAge () 
{
return 53;
}

data-type = “code”>

Добавьте это сразу после метода SayHello () в первом примере и добавьте эти две строки перед

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

data-type = “code”>

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

  Hello  

data-type = “code” >

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

data-type = “code”>

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

Это функция:

  public float Sum (int [] values, int startindex, int endindex) 
{
var total = 0;
for (var index = startindex; index {
total + = values ​​[index];
}
return total;
}

data-type = “code”>

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

  var values ​​= new int [10] {  1, 2, 3, 4, 5, 6, 7, 8, 9,10}; 
Console.WriteLine (t.Sum (values, 0,2)); //Должно быть 6
Console.WriteLine (t.Sum (values, 0,9)); //должно быть 55
Console.WriteLine (t.Sum (values, 9,9)); //должно быть 10, поскольку 9-е значение равно 10

data-type = “code”>

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

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

Оцените статью
recture.ru
Добавить комментарий