static void Main(string[] args) { var array = Enumerable.Range(1, 3); var first = array.First(item => item == 1); first = 100; foreach (var value in array) { Console.WriteLine(value); } Console.ReadKey(); }この結果ってどういった表示になると思います?
正解は
1となります。
2
3
これはarrayがintの配列情報で、検索した結果が値型なので「100」で置き換わりません。
次に
private class Test { public int value; } static void Main(string[] args) { var array = new List<Test>() { new Test{ value = 1 }, new Test{ value = 2 }, new Test{ value = 3 } }; var first = array.First(item => item.value == 1); first.value = 100; foreach (var test in array) { Console.WriteLine(test.value); }とした場合、結果はどうなるでしょうか?
Console.ReadKey(); }
正解は
100となります。
2
3
これはarrayがクラスのリスト情報で、検索した結果が参照型なので「100」で置き換わります。