C# パラメータの受け渡し方法
C# では、パラメーターは次のように渡されます。
- 引数に実引数の値のコピーを渡し、関数内部で引数に対する変更があっても実引数の値には影響しない(値渡し)。
- 参照渡し(By Reference):実引数の参照を仮引数に渡し、仮引数と実引数が同じメモリアドレスを指す。仮引数を変更すると、実引数の値が直接影響を受ける。
- メソッドから複数の値を返す。
- パラメーター配列(Params Array):可変個の数のパラメーターを渡すために利用します。メソッド定義時に「params」キーワードを使用してパラメーター配列を宣言し、メソッドを呼び出す際には任意個数の実際のパラメーターを渡すことができ、それらの実際のパラメーターは配列にまとめられます。
- 引数の省略が可能なオプションな引数(デフォルト値があるメソッドの引数)。メソッドの定義時に引数にデフォルト値を設定しておけば、メソッドの呼び出し時に引数を省略したり、別な値を指定することができます。
- 参照渡し(Ref修飾子):参照渡しと似ていますが、メソッド内では参照先オブジェクトのみ変更ができて、参照自体は変更できません。メソッド呼び出しの際に、実引数の前に”ref”キーワードを追加する必要があります。
C#では値型(int,floatなど)のみが値渡しで、参照型(クラス,配列など)は値渡しに加えて参照渡しを行うことができる点に注意