この記事で分かること C#のin、out、refは、いずれも引数を参照渡しにする修飾子で、用途によって使い分ける inは読み取り専用の入力(変更不可)、refは読み書き両用の入出力(変更可)として使う outは出力専用で、メソッド内で必ず値を割り当てる必要があり、複数の戻り値を得るために使われる 連載「.NET TIPS」 メソッドに引数を渡す方法に、値渡しと参照渡しがある。さらにC#では、メソッドの引数リストで参照渡しを宣言するために、in/out/refの3通りのパラメーター修飾子がある。inパラメーター修飾子はC# 7.2の新機能だ。本稿では、この参照渡しのin/out/refの使い方の違いを解説する。
![in/out/refパラメーター修飾子の違いとは?[C#]](https://cdn-ak-scissors.b.st-hatena.com/image/square/6154b3877a59c70971f6bc97c5c7cbe484f2b45d/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fait%2Farticles%2F1804%2F25%2Fl_dt-02.gif)