Методы и модификаторы параметров в C#

Лекции по предмету «Программирование»
Информация о работе
  • Тема: Методы и модификаторы параметров в C#
  • Количество скачиваний: 5
  • Тип: Лекции
  • Предмет: Программирование
  • Количество страниц: 3
  • Язык работы: Русский язык
  • Дата загрузки: 2015-01-04 00:04:47
  • Размер файла: 36.66 кб
Помогла работа? Поделись ссылкой
Ссылка на страницу (выберите нужный вариант)
  • Методы и модификаторы параметров в C# [Электронный ресурс]. – URL: https://www.sesiya.ru/lekcii/programmirovanie/metody-i-modifikatory-parametrov-v-c/ (дата обращения: 03.08.2021).
  • Методы и модификаторы параметров в C# // https://www.sesiya.ru/lekcii/programmirovanie/metody-i-modifikatory-parametrov-v-c/.
Есть ненужная работа?

Добавь её на сайт, помоги студентам и школьникам выполнять работы самостоятельно

добавить работу
Обратиться за помощью в подготовке работы

Заполнение формы не обязывает Вас к заказу

Информация о документе

Документ предоставляется как есть, мы не несем ответственности, за правильность представленной в нём информации. Используя информацию для подготовки своей работы необходимо помнить, что текст работы может быть устаревшим, работа может не пройти проверку на заимствования.

Если Вы являетесь автором текста представленного на данной странице и не хотите чтобы он был размешён на нашем сайте напишите об этом перейдя по ссылке: «Правообладателям»

Можно ли скачать документ с работой

Да, скачать документ можно бесплатно, без регистрации перейдя по ссылке:

Методы и модификаторы параметров в C#

Оформленная подпрограмма имеет вид:
<доступ> <тип> (<список параметров>)
{
<операторы>
}
Например, подпрограмма функция
public int get_num()
{
return Prod_Num;
}
Обычная подпрограмма
public void SwapStr (ref string s1, ref string s2)
{
string temp = s1;
s1 = s2;
s2 = temp;
}
Подпрограмма может возвращать вычисленное значение через свое имя, тогда перед именем подпрограммы записывается возвращаемое значение, а внутри подпрограммы имеется оператор return. Если подпрограмма не возвращает таким способом значение, то тип возвращаемого значения void.
Параметры, передаваемые в подпрограмму, могут передаваться по значению или по ссылке. При передаче по значению значение параметра копируется в память подпрограммы. Если это параметр в подпрограмме будет изменен, то его значение, которое было при вызове, не изменится. При передаче параметра по ссылке, либо вычисленное значение возвращается из подпрограммы, либо вообще обработка выполняется в памяти вызывающей программы (таким способом обычно обрабатываются массивы). Для управления этими режимами обработки применяются модификаторы, которые записываются перед именем подпрограммы.

Если никакой модификатор перед параметром не записан (или записан модификатор in), предполагается передача по значению.
Модификатор out указывает, что параметр передается по ссылке. Другими словами, в подпрограмме будет вычислено значение параметра и передано в вызывающую программу. Если в подпрограмме значение этому параметру не будет присвоено, компилятор выдаст сообщение об ошибке на стадии компиляции программы.
Модификатор ref указывает, что обработка будет выполняться в памяти вызывающей программы. Если объекту, на который ссылается параметр, память не выделена, то будет выдано сообщение об ошибке на стадии компиляции программы. Если в подпрограмме значение этому параметру не будет присвоено, компилятор сообщение об ошибке не выдаст.
Модификатор params указывает, что в подпрограмму передается список значений, разделенных запятыми. Ниже приведен пример.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace avrg_params
{
class Program
{
static double Calculateavrg(params double [ ] values)
{
// Вывод количества значений
Console.WriteLine ("В подпрограмму передано {0} чисел",values.Length);
double sum = 0;
if(values.Length == 0) return sum;
for (int i = 0; i < values.Length; i++)
sum += values [i];
return (sum / values.Length);
}
static void Main(string[] args)
{
Console.WriteLine ("Проверка модификатора params");
double avrg;
// Передача списка значений double
avrg = Calculateavrg(7.0, 8.2, 5.7, 4.2, 9.3, 1.8);
Console.WriteLine("Среднее значение = {0:f2}
", avrg);
// Передача списка с помощью массива по имени list
double [ ] list = { 4.0, 3.2, 5.7, 2.9 };
avrg = Calculateavrg(list);
Console.WriteLine("Среднее значение = {0:E2}
", avrg);
// Значения не переданы
avrg = Calculateavrg();
Console.WriteLine("Среднее значение = {0:G}", avrg);
Console.ReadKey();// Останов экрана
}
}
}
Результат вывода программы

Модификатор params в списке параметров может быть только один и должен записываться последним.