C#でなぜ参照渡しになるかわからないコードがあります。
以下のような処理があります。
C#
1class hoge 2{ 3 byte[] list = new byte[64] 4 int index = 0; 5 6 void addList(byte[] list, int startIndex, UInt32 value, int length, out int nextIndex) 7 { 8 list[startIndex] = value; 9 nextIndex = startIndex + length; 10 } 11 12 hoge() 13 { 14 addList(list, index, fuga1, 1, index); 15 addList(list, index, fuga2, 2, index); 16 addList(list, index, fuga3, 3, index); 17 } 18}
この時のbyte配列のlistがなぜ参照渡しになっているのかよくわかりません。
私の認識ではref,outなどの記述がないと基本的に値渡しだと思っているのですがなぜでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/02/06 09:07