views:

353

answers:

4

What is the difference between an argument & a parameter in C#?

Are they the same thing?

A: 

In the context of functions yes, they are the same, sometimes if you are talking about passing data to executables such as MyApp.exe /a:value /b:somethingelse, this might be refered to as arguments

bashmohandes
A: 

Typically, I refer to command-line arguments, as arguments. Arguments to a method or function I typically call parameters.

However, this isn't convention and both can be used interchangeably without people getting confused.

Ben S
+29  A: 

Well, neither keyword is present in the language, so the question is somewhat vague. The best that can be done is to look how each term is used in C# language specification (1.6.6.1 "Parameters"):

Parameters are used to pass values or variable references to methods. The parameters of a method get their actual values from the arguments that are specified when the method is invoked.

So, "parameters" refer to names, and "arguments" refer to values bound to those names. E.g.:

void Foo(int x, int y); // x and y are parameters
Foo(1, 2);  // 1 and 2 are arguments
Pavel Minaev
beat me by a few seconds.
Joel Coehoorn
Fantastic answer, thankyou very much.
Goober
Also called 'Formal Parameters' and 'Actual Parameters' by some.
Matt Brunell
A: 

they are used interchangeably but anyway to be accurate check this article

Yassir