- •Теория Введение. Составные компоненты языка программирования
- •Типы данных. Описание переменных. Константы именованные и неименованные
- •Базовые типы
- •Int32 -2млрд..2млрд
- •Константы
- •Неименованные константы
- •Именованные константы
- •Переменные
- •Идентификаторы
- •Основная структура программы Для консольного приложения автоматически создается структура:
- •Оператор присваивания
- •Операторы ввода-вывода
- •Операторы ввода
- •Операторы вывода
- •X или X Шестнадцатеричный формат
- •Арифметические операторы
- •Бинарные
- •Унарные
- •Комбинированные операторы присваивания
- •Логические операторы
- •Операторы отношения
- •Уровни значимости операторов
- •Стандартные функции
- •Составной оператор
- •Раздел: Условные операторы Оператор условия (if)
- •If (выражение_лог_типа) оператор; //сокращенная форма
- •Оператор варианта (switch)
- •Решение
- •Int n, sum; string s; //описываем необх. Переменные
- •Раздел: Операторы цикла Оператор цикла с параметром (for)
- •Оператор цикла с постусловием (do - while)
- •Оператор цикла с предусловием (while)
- •Раздел: Массивы, строки Массивы одномерные
- •Оператор foreach
- •Строки. Средства работы со строками
- •Точные строки: символ @
- •Преобразование строк в другие типы
- •Раздел: Создание подпрограмм Методы
- •Передача типов значений с помощью значения
- •Int I;//независимая переменная
- •Передача типов значений с помощью ссылки
Раздел: Создание подпрограмм Методы
Метод представляет собой блок кода, содержащий набор инструкций. В C# все инструкции выполняются в контексте метода. В этом разделе описываются именованные методы. Другой тип методов, называемых анонимными функциями, описан в других разделах документации.
Методы объявляются в классе или в структуре путем указания уровня доступа, возвращаемого значения, имени метода и списка параметров этого метода. Все вместе эти элементы образуют подпись метода. Параметры заключаются в круглые скобки и разделяются запятыми. Пустые скобки указывают на то, что у метода нет параметров.
Методы имеют смысл подпрограмм. В случае, если метод возвращает какое-либо значение, его использование схоже с использованием функции. Если метод не возвращает никаких значений - его применение аналогично процедуре.
Методы могут возвращать значения вызывающим их объектам. Если тип возвращаемого значения, указываемый перед именем метода, не равен void, для возвращения значения используется ключевое слово return. В результате выполнения инструкции с ключевым словом return, после которого указано значение нужного типа, вызвавшему метод объекту будет возвращено это значение. Кроме того, ключевое слово return останавливает выполнение метода. Если тип возвращаемого значения void, инструкцию return без значения все равно можно использовать для завершения выполнения метода. Если ключевое слово return отсутствует, выполнение метода завершится, когда будет достигнут конец его блока кода. Для возврата значений методами с типом возвращаемого значения отличным от void необходимо обязательно использовать ключевое слово return.
Чтобы использовать возвращаемое методом значение в вызываемом методе, вызов метода можно поместить в любое место кода, где требуется значение соответствующего типа.
Пример и использованием возвращаемого значения:
static string my_func()
{ //данный метод возвращает строку
return "Hello world!";
}
static void Main(string[] args)
{ //"Главный" метод
string s = "*** "+my_func()+" ***";
Console.WriteLine(s);
}
Пример с использованием void:
static void my_proc()
{
Console.WriteLine( "Hello world!");
}
static void Main(string[] args)
{
my_proc()
}
Передача параметров типа значения
Переменная типа значения содержит данные непосредственно, в противоположность переменной ссылочного типа, которая содержит ссылку на данные. Поэтому передача переменной типа значения методу означает передачу методу копии переменной. Любые изменения параметра, выполняемые внутри метода, не влияют на исходные данные, хранимые в переменной. Если требуется, чтобы вызываемый метод изменял значение параметра, его следует передавать ссылкой с помощью ключевого слова ref или out.
Передача типов значений с помощью значения
Пример: написать метод вычисляющий факториал числа, и возвращающий это значение.
static int factorial(int n)
{
int i, res; res = 1;
for (i = 1; i <= n; i++)
res = res * i;
return res;
}
static void Main(string[] args)
{
Int I;//независимая переменная
for (i = 0; i <= 13;i++)
Console.WriteLine("{0}! = {1}",i,factorial(i));
Console.ReadKey();
}
