私は初心者です。この問題はおそらく非常に明白ですが、私はそれに多くの問題を抱えています。変更されていないと配列が変更されます
次のコードでは、i2がiに設定されている場合、その後i2が変更されてもiは変更されません。ただし、arr2がarrに設定されている場合、arr2がその後に変更されるとarrも更新されます。
なぜですか?違いはなんですか?
static void Main(string[] args)
{
int i = 5;
int i2 = i;
Console.WriteLine(i); //output is 5
i2 = i - 2;
Console.WriteLine(i); //output is 5
//------------------------------------------------------------------------------
int[] arr = { 5 };
int[] arr2 = arr;
Console.WriteLine(arr[0]); //output is 5
arr2[0] = arr[0] -2;
Console.WriteLine(arr[0]); //output is 3
//---------------------------------------------------------------------
Console.ReadKey();
}
[値型と参照型](https://msdn.microsoft.com/en-us/library/t63sy5hs.aspx)をお読みください。 'int'は値型で、 'array'(int [])は参照型です。 – Odrai
質問の件名に言語や文脈を示すことも考えてください。この一般的なアドバイスは、最も関連性の高い回答を提供できる人から注目を集めるのに役立ちます。 – Carlos