「配列」(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]]|-|★★★☆☆|
----
表示オプション
横に並べて表示:
変化行の前後のみ表示: