A parameter declared without a ref
or out
modifier is a value parameter.
A value parameter comes into existence upon invocation of the function member (method, constructor, accessor, or operator) to which the parameter belongs, and is initialized with the value of the argument given in the invocation. A value parameter ceases to exist upon return of the function member.
For purposes of definite assignment checking, a value parameter is considered initially assigned.