C#の学習 No. 6 配列
配列もJavaと同様。拡張forは素直にforeach文で操作可能。
多次元配列と配列の配列が明確に分かれているのが驚き。配列の配列に慣れているので逆に違和感を覚えてしまう。
インデクサ、要は[]演算子のオーバーロードみたいな感じのものも面白い。演算子より使える機会がありそうな気がする。
以下サンプル。
namespace Sample { class ArrayTest { static void Main(string[] args) { // 1次元配列 int[] intArray = new int[3]; for (int i = 0; i < intArray.Length; i++) { intArray[i] = i * i; } foreach (int i in intArray) { System.Console.WriteLine("intArray={0}", i); } // 2次元配列 int[,] intArray2 = new int[2, 3]; intArray2[0, 0] = 3; Foo(3, 4, 5); // 配列の配列(ジャグ配列) int[][] intArray3 = new int[2][]; intArray3[0] = new int[4]; intArray3[1] = new int[10]; // インデクサテスト ArrayTest a = new ArrayTest(); a[5] = 10; System.Console.WriteLine("a[5]={0}", a[5]); } // 可変長引数! static void Foo(params int[] intArray) { foreach (int i in intArray) { System.Console.WriteLine("params intArray={0}", i); } } private int[] values; public ArrayTest() { values = new int[100]; } public int this[int index] { get { return values[index]; } set { values[index] = value; } } } }