In Java, all parameters are value parameters. A value parameter acts like a local variable of the method whose initial value is the value of the argument used in the call.
C# also has ref parameters and out parameters. If a method has a ref/out parameter, then that parameter represents the same variable as the variable given as the argument.
Here is an example of a ref parameter:
private static void iIncrease(ref int pCount) { pCount++; } public static void Main() { int tCount = 1; iIncrease(ref tCount); Console.WriteLine(tCount); // 2 would be output }
Note that the keyword ref appears both in the parameter list and in the argument list.
An out parameter is used in a similar way to a ref parameter. The differences between a ref parameter and an out parameter are: