「配列」の編集履歴(バックアップ)一覧はこちら

配列」(2007/02/25 (日) 00:48:31) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**配列 ***概要 ・配列は、1 次元配列、多次元配列、またはジャグ配列のいずれかになる. ・配列要素の初期値は,規定値は0,参照要素はNullとなる. ・n個の要素の配列は,0,1,・・・n-1のインデックスが付けられる. ・配列の要素はどのような型でもかまわない. ・配列型は,Array型から派生した参照型 ・IEnumerableとIEnumerableを実装する. ・foreach反復処理が可能 ***文法 :配列の宣言|型名[] 配列名; :配列の作成|配列変数 = new 型名[配列の長さ]; 例 class Program { static void Main() { int[] array = new int[4]; array[0] = 10; array[1] = 11; array[2] = 12; array[3] = 13; for(int i=0; i < array.Length; i = i + 1) { Console.WriteLine(array[i]); } Console.ReadLine(); } } 出力 >10 >11 >12 >13 ***プロパティ :Length すべての次元内の要素の総数を表す32ビット整数を取得する|配列名.Length :Rank ランク(次元数)を取得する|配列名.Rank :SyncRoot アクセスを同期するために使用できるオブジェクトを取得する|配列名.SyncRoot 例 class Program { static void Main() { int[] array = new int[4]; array[0] = 10; array[1] = 11; array[2] = 12; array[3] = 13; Console.WriteLine(array.Length); Console.WriteLine(array.Rank); Console.WriteLine(array.SyncRoot); Console.ReadLine(); } } 出力 >4 >1 >System.Int32[] ***メソッド :clear 配列の型に応じて0,false,nullに設定する|clear(配列名,開始位置,削除する数) 例 class Program { static void Main() { int[] array = new int[4]; array[0] = 10; array[1] = 11; array[2] = 12; array[3] = 13; Console.WriteLine("元の配列"); PrintArray(array); Array.Clear(array,1,2); Console.WriteLine("削除後"); PrintArray(array); Console.ReadLine(); } static void PrintArray(Array myArray) { foreach (int i in myArray) { Console.WriteLine(i); } } } 出力 >元の配列 >10 >11 >12 >13 >削除後 >10 >0 >0 >13 :Clone 配列の簡易コピー|(配列の型)array.Clone() :Copy 配列の簡易コピー|Array.Copy(コピー元,コピー先,コピーする要素数); Array.Copy(コピー元,コピー元開始位置,コピー先,コピー先開始位置,コピーする要素数); :ConstrainedCopy 配列の簡易コピー|Array.ConstrainedCopyコピー元,コピー元開始位置,コピー先,コピー先開始位置,コピーする要素数); Copyと異なりコピーが完全に成功しない限り、変更は一切適用しない. 例 class Program { static void Main() { int[] array = new int[4]; array[0] = 10; array[1] = 11; array[2] = 12; array[3] = 13; int[] array2 = array; int[] arraycopy = new int[4]; Array.Copy(array, arraycopy,2); int[] arrayclone = (int[])array.Clone(); array[1] = 14; arrayclone[3] = 15; Console.WriteLine("array"); PrintArray(array); Console.WriteLine("array2"); PrintArray(array2); Console.WriteLine("arraycopy"); PrintArray(arraycopy); Console.WriteLine("arrayclone"); PrintArray(arrayclone); Console.ReadLine(); } static void PrintArray(Array myArray) { foreach (int i in myArray) { Console.WriteLine(i); } } } 出力 >array >10 >14        ←array[1] = 14;により値が変化 >12 >13        ←arrayclone[3] = 15;によっても値が変化しない >array2 >10 >14        ←array[1] = 14;により値が変化 >12 >13        ←arrayclone[3] = 15;によっても値が変化しない >arraycopy >10 >11        ←array[1] = 14;によっても値が変化しない >0 >0 >arrayclone >10 >11        ←array[1] = 14;によっても値が変化しない >12 >15        ←arrayclone[3] = 15;により値が変化 :Reverse|範囲内の要素の順序を反転させます. :Sort|オブジェクト内の要素を並べ替えます. 例 class Program { static void Main() { int[] array = new int[4]; array[0] = 13; array[1] = 11; array[2] = 12; array[3] = 10; Console.WriteLine("ソート前"); PrintArray(array); Array.Sort(array); Console.WriteLine("ソート後"); PrintArray(array); Array.Reverse(array); Console.WriteLine("リバース後"); PrintArray(array); Console.ReadLine(); } static void PrintArray(Array myArray) { foreach (int i in myArray) { Console.WriteLine(i); } } } 出力 >ソート前 >13 >11 >12 >10 >ソート後 >10 >11 >12 >13 >リバース後 >13 >12 >11 >10 ***参考文献 |BGCOLOR(#696969):CENTER:HP|BGCOLOR(#696969):CENTER:リンク|BGCOLOR(#696969):CENTER:内容|BGCOLOR(#696969):CENTER:評価| |stack*(スタックアスタリスク)|[[C#プログラミング入門第3回:C#基礎 パート1(クラスライブラリ)>http://www.stackasterisk.jp/tech/dotNet/csharp03_01.jsp]]|-|★★☆☆☆| |@IT|[[.NET TIPS C#で配列を宣言するには?>http://www.atmarkit.co.jp/fdotnet/dotnettips/261arrayinit/arrayinit.html]]|null参照と要素数0の配列についての説明|★★★★☆| |++C++;// 未確認飛行 C++|[[配列(C# によるプログラミング入門)>http://ufcpp.net/study/csharp/st_array.html]]|詳細な説明|★★★★★| |WisdomSoft|[[配列>http://wisdom.sakura.ne.jp/programming/cs/cs35.html]]|-|★★★☆☆| ----
**配列 ***概要 ・配列は、1 次元配列、多次元配列、またはジャグ配列のいずれかになる. ・配列要素の初期値は,規定値は0,参照要素はNullとなる. ・n個の要素の配列は,0,1,・・・n-1のインデックスが付けられる. ・配列の要素はどのような型でもかまわない. ・配列型は,Array型から派生した参照型 ・IEnumerableとIEnumerableを実装する. ・foreach反復処理が可能 ***文法 :配列の宣言|型名[] 配列名; :配列の作成|配列変数 = new 型名[配列の長さ]; 例 class Program { static void Main() { int[] array = new int[4]; array[0] = 10; array[1] = 11; array[2] = 12; array[3] = 13; for(int i=0; i < array.Length; i = i + 1) { Console.WriteLine(array[i]); } Console.ReadLine(); } } 出力 >10 >11 >12 >13 ***プロパティ :Length すべての次元内の要素の総数を表す32ビット整数を取得する|配列名.Length :Rank ランク(次元数)を取得する|配列名.Rank :SyncRoot アクセスを同期するために使用できるオブジェクトを取得する|配列名.SyncRoot 例 class Program { static void Main() { int[] array = new int[4]; array[0] = 10; array[1] = 11; array[2] = 12; array[3] = 13; Console.WriteLine(array.Length); Console.WriteLine(array.Rank); Console.WriteLine(array.SyncRoot); Console.ReadLine(); } } 出力 >4 >1 >System.Int32[] ***メソッド :clear 配列の型に応じて0,false,nullに設定する|clear(配列名,開始位置,削除する数) 例 class Program { static void Main() { int[] array = new int[4]; array[0] = 10; array[1] = 11; array[2] = 12; array[3] = 13; Console.WriteLine("元の配列"); PrintArray(array); Array.Clear(array,1,2); Console.WriteLine("削除後"); PrintArray(array); Console.ReadLine(); } static void PrintArray(Array myArray) { foreach (int i in myArray) { Console.WriteLine(i); } } } 出力 >元の配列 >10 >11 >12 >13 >削除後 >10 >0 >0 >13 :Clone 配列の簡易コピー|(配列の型)array.Clone() :Copy 配列の簡易コピー|Array.Copy(コピー元,コピー先,コピーする要素数); Array.Copy(コピー元,コピー元開始位置,コピー先,コピー先開始位置,コピーする要素数); :ConstrainedCopy 配列の簡易コピー|Array.ConstrainedCopyコピー元,コピー元開始位置,コピー先,コピー先開始位置,コピーする要素数); ・Copyと異なりコピーが完全に成功しない限り、変更は一切適用しない. 例 class Program { static void Main() { int[] array = new int[4]; array[0] = 10; array[1] = 11; array[2] = 12; array[3] = 13; int[] array2 = array; int[] arraycopy = new int[4]; Array.Copy(array, arraycopy,2); int[] arrayclone = (int[])array.Clone(); array[1] = 14; arrayclone[3] = 15; Console.WriteLine("array"); PrintArray(array); Console.WriteLine("array2"); PrintArray(array2); Console.WriteLine("arraycopy"); PrintArray(arraycopy); Console.WriteLine("arrayclone"); PrintArray(arrayclone); Console.ReadLine(); } static void PrintArray(Array myArray) { foreach (int i in myArray) { Console.WriteLine(i); } } } 出力 >array >10 >14        ←array[1] = 14;により値が変化 >12 >13        ←arrayclone[3] = 15;によっても値が変化しない >array2 >10 >14        ←array[1] = 14;により値が変化 >12 >13        ←arrayclone[3] = 15;によっても値が変化しない >arraycopy >10 >11        ←array[1] = 14;によっても値が変化しない >0 >0 >arrayclone >10 >11        ←array[1] = 14;によっても値が変化しない >12 >15        ←arrayclone[3] = 15;により値が変化 :Reverse|範囲内の要素の順序を反転させます. :Sort|オブジェクト内の要素を並べ替えます. 例 class Program { static void Main() { int[] array = new int[4]; array[0] = 13; array[1] = 11; array[2] = 12; array[3] = 10; Console.WriteLine("ソート前"); PrintArray(array); Array.Sort(array); Console.WriteLine("ソート後"); PrintArray(array); Array.Reverse(array); Console.WriteLine("リバース後"); PrintArray(array); Console.ReadLine(); } static void PrintArray(Array myArray) { foreach (int i in myArray) { Console.WriteLine(i); } } } 出力 >ソート前 >13 >11 >12 >10 >ソート後 >10 >11 >12 >13 >リバース後 >13 >12 >11 >10 ***参考文献 |BGCOLOR(#696969):CENTER:HP|BGCOLOR(#696969):CENTER:リンク|BGCOLOR(#696969):CENTER:内容|BGCOLOR(#696969):CENTER:評価| |stack*(スタックアスタリスク)|[[C#プログラミング入門第3回:C#基礎 パート1(クラスライブラリ)>http://www.stackasterisk.jp/tech/dotNet/csharp03_01.jsp]]|-|★★☆☆☆| |@IT|[[.NET TIPS C#で配列を宣言するには?>http://www.atmarkit.co.jp/fdotnet/dotnettips/261arrayinit/arrayinit.html]]|null参照と要素数0の配列についての説明|★★★★☆| |++C++;// 未確認飛行 C++|[[配列(C# によるプログラミング入門)>http://ufcpp.net/study/csharp/st_array.html]]|詳細な説明|★★★★★| |WisdomSoft|[[配列>http://wisdom.sakura.ne.jp/programming/cs/cs35.html]]|-|★★★☆☆| ----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
目安箱バナー