The Default Parameter-Passing Behavior
The default manner in which a parameter is sent into a function is by value. Simply put, if you do
not mark an argument with a parameter-centric modifier, a copy of the data is passed into the func-
tion. As explained at the end of this chapter, exactly
what is copied will depend on whether the
parameter is a value type or a reference type. For the time being, assume the following method
within the Program class that operates on two numerical data types passed by value:
// Arguments are passed by value by default.
static int Add(int x, int y)
{
int ans = x + y;
// Caller will not see these changes
// as you are modifying a copy of the
// original data.
x = 10000; y = 88888;
return ans;
}
Numerical data falls under the category of value types. Therefore, if you change the values of
the parameters within the scope of the member, the caller is blissfully unaware, given that you are
changing the values on a copy of the caller’s data:
static void Main(string[] args)
{
Console.WriteLine("***** Fun with Methods *****");
Do'stlaringiz bilan baham: |