Часть I. Базовые сведения о программировании на языке C#
Причем соответствующее слово должно ставиться не только в заголовке
функции, но и при ее вызове.
C# позволяет передавать функции переменное количество параметров
путем указания ключевого слова
params
при объявлении функции. Спи-
сок аргументов также может содержать регулярные параметры, однако
параметр, объявленный с помощью ключевого слова
params
, должен
быть последним в списке. Он имеет форму массива переменной длины
(массивы мы будем изучать позже). В функции может быть только один
параметр с квалификатором
params
.
В последних версиях C# для функций введены так называемые имено-
ванные аргументы. Мы пока не уточняли до сих пор, как передавать
аргументы в функцию, т. е. как подставлять их вместо формальных па-
раметров. Теперь скажем, что в функции ее параметры — позиционные,
т. е. за каждым параметром в заголовке функции закреплена определен-
ная позиция: этот параметр — на первом месте в заголовке, этот — на
четвертом и т. д. Когда вы вызываете функцию на выполнение, то
должны ей передать
фактические
значения
параметров
(или, еще гово-
рят — аргументы) в том порядке, в каком стоят в заголовке соответст-
вующие этим аргументам параметры. Например, если параметры "рост"
и "вес человека" в некоторой функции стоят (т. е. описаны) в последова-
тельности "рост, вес", то при обращении к функции вы обязаны кон-
кретное значение роста поставить на первое место в заголовке, а веса —
на второе. Когда параметров много, бывает очень неудобно все время
помнить, что за чем идет. Программист обычно все это пишет в ком-
ментарии к функции, если он аккуратный. Видимо, большинство про-
граммистов таким качеством не отличается, если фирма-разработчик
ввела именованные аргументы. В чем новизна? Покажем это на примере
функции из двух параметров: рост и вес (что у нее в теле будет — не
суть важно). Далее приведено обращение к функции
Calculate()
.
У этой функции первым параметром является вес (
weight
) человека,
вторым — рост (
height
). Эту функцию можно вызывать обычным
путем:
Console.WriteLine(Calculate(70, 164));
Но вы, скажем, не помните, в какой последовательности в функции идут
параметры, но имена их помните. Теперь вы можете задавать конкрет-
ные значения параметров в любом порядке, указав их имена через двое-
точие:
Console.WriteLine(Calculate(height: 164, weight: 70));
Do'stlaringiz bilan baham: |