Есть ли разница между аргументами и параметрами?

15

Это может быть так: Параметр означает от POV вызывающих, а аргументы означают внутри процедуры, или наоборот.

Или нет разницы?

Обновить

В шведском языке мы говорим «anropsparametrar», то есть «параметры, которые вызывают процедуру», и мы не будем говорить «anropsargument» («аргументы, которые вызывают процедуру»).

Никлас
источник
1
это будет зависеть от контекста, на который вы ссылаетесь
Юсубов
2
Пожалуйста, ищите в следующий раз: stackoverflow.com/questions/3176310/…
Overv
1
@ Overver Даже этот дубликат. Этот вопрос задавался миллиард раз. Не могу поверить, что щедрость была установлена.
Alternatex

Ответы:

31

Согласно статье MSDN, есть некоторые различия в определении того, что называется параметром и что называется аргументом:

Параметр:

Параметр представляет значение, которое процедура ожидает от вас при вызове. Объявление процедуры определяет ее параметры.

Аргумент:

Аргумент представляет значение, которое вы передаете параметру процедуры при вызове процедуры. Вызывающий код предоставляет аргументы при вызове процедуры.

Также есть отличная цитата, как это понять на примере из реальной жизни :

Чтобы передать эту информацию процедуре, процедура определяет параметр, и вызывающий код передает аргумент этому параметру. Вы можете рассматривать параметр как место для парковки, а аргумент - как автомобиль. Так же, как разные автомобили могут парковаться на парковке в разное время, вызывающий код может передавать разные аргументы одному и тому же параметру при каждом вызове процедуры.

Юсубы
источник
5
Спецификация языка C # согласна с этим. Например, раздел «1.6.6.1 Параметры» гласит, что «Параметры метода получают свои фактические значения из аргументов, которые указываются при вызове метода».
Актон