C# の System.Array とは

C No System Array Toha



C# はデータ構造として配列の使用をサポートしています。これにより、同じ型の要素のコレクションを固定サイズの連続した順序で格納できます。 C# のすべての配列プロパティは、 System.Array 配列型の基本クラスとして機能するクラス。

これは抽象基本クラスであるため、System.Array クラスのインスタンスを直接作成することはできません。代わりに、System.Array から派生したクラスの 1 つのインスタンスを作成できます。 C# のすべての配列型は、System.Array に基づいています。

1 次元配列に加えて、C# には多次元配列とジャグ配列もあります。多次元配列には、複数の次元または複数の次元があります。ジャグ配列では、各要素を異なるサイズの配列にすることができます。簡単に言えば、ジャグ配列は配列の配列です。







System.Array クラスの用途とは

System.Array クラスは、C# で配列を操作するためのさまざまなメソッドとプロパティを提供します。これらのメソッドを使用すると、配列に格納されている値の読み取りと変更、配列のサイズと形状に関する情報の取得、および配列内の要素の検索を行うことができます。



一般的なメソッドには、GetValue()、SetValue()、GetLength()、IndexOf() などがあります。の System.Array クラスを使用すると、さまざまな配列を並べ替え、検索、および操作することもできます。



たとえば、配列の長さを取得するには、 長さのプロパティ 使用されている。の ランクプロパティ 配列に存在する合計次元を返すことができます。の GetLength プロパティ 多次元配列の特定の次元の長さを返します。





System.Array C# のメソッドとプロパティ

System.Array C# で使用されるいくつかのメソッドとプロパティを次に示します。

クリア(): これは一般に公開されているメソッドで、コードのどの部分からでもアクセスできます。このメソッドは、配列内の要素の特定の範囲を null 参照またはゼロに設定できます。



コピー(): これは、要素の特定のセクションをある配列から別の配列にコピーするためにオーバーロードして使用できるパブリック共有メソッドです。

GetLength(): 配列の特定の次元の合計要素を示す 32 ビット整数を返します。

GetLength(): このメソッドは 64 ビット整数を返します。これにより、配列の特定の次元の要素の合計が得られます。

GetLowerBound(): このメソッドは、インデックス 0 から始まる、配列の特定の次元の下限を取得します。

GetUpperBound(): このメソッドは、インデックス 0 から始まる配列の指定された次元の上限を取得します。

GetValue(): このメソッドは、インデックス 1 から始まる、配列内の特定の要素の値を取得します。

の指標(): これは、1 次元配列で特定の値が最初に出現したインデックスまたはオフセットを返すためにオーバーロードできるパブリック共有メソッドです。

IsFixedSize(): このメソッドは、配列が固定サイズかどうかを示します。

IsReadOnly(): このメソッドは、配列が読み取り専用かどうかを示す値を返します。

LastIndexOf(): これは、オーバーロードできる public 共有メソッドです。 1 次元配列で値が最後に出現したインデックスを示します。

長さ(): このメソッドは、配列の長さを提供します。これはパブリック プロパティであり、32 ビット整数値を出力します。

長さ(): このメソッドは、配列のすべての次元の要素を伝えます。 64 ビット整数値を返します。

ランク(): このメソッドは、配列の次元数を返します。

リサイズ(): このメソッドは、指定された要素数に配列のサイズを変更します。

逆行する(): このメソッドは、1 次元配列の要素の順序を逆にすることができます。

選別(): このメソッドは、1 次元配列内の要素を、その値に応じて昇順または降順に並べ替えます。

サンプルコード

以下のコードは、整数の配列を初期化し、さまざまな System.Array C# の配列で使用できるメソッド。各メソッドの出力は、コンソールに個別に表示されます。

システムの使用 ;
クラス プログラム
{
静的 空所 主要 ( [ ] 引数 )
{
// 整数の配列を初期化します
整数 [ ] 数字 = { 1 2 3 4 5 } ;


// 配列の中身をクリア

配列。 クリア ( 数字 0 数字。 長さ ) ;

コンソール。 書き込み行 ( 「クリア後の配列:」 ) ;

ために ( 整数 = 0 ; < 数字。 長さ ; ++ )

{

コンソール。 書く ( 数字 [ ] + ' ' ) ;

}

コンソール。 書き込み行 ( ) ;

// 別の配列の内容を nums にコピーします

整数 [ ] numsCopy = { 7 8 9 } ;

配列。 コピー ( numsCopy 数字 numsCopy. 長さ ) ;

コンソール。 書き込み行 ( 「コピー後の配列:」 ) ;

ために ( 整数 = 0 ; < 数字。 長さ ; ++ )

{

コンソール。 書く ( 数字 [ ] + ' ' ) ;

}

コンソール。 書き込み行 ( ) ;

// 配列の長さと長い長さを取得します

整数 長さ = 数字。 長さを取得 ( 0 ) ;

長さ 長さ = 数字。 GetLength ( 0 ) ;

コンソール。 書き込み行 ( '配列の長さ: ' + 長さ ) ;

コンソール。 書き込み行 ( '配列の長さ: ' + 長さ ) ;

// 配列の下限と上限を取得します

整数 下界 = 数字。 GetLowerBound ( 0 ) ;

整数 上界 = 数字。 GetUpperBound ( 0 ) ;

コンソール。 書き込み行 ( '配列の下限:' + 下界 ) ;

コンソール。 書き込み行 ( '配列の上限: ' + 上界 ) ;

// 配列内の特定のインデックスの値を取得します

整数 valueAtIndex = ( 整数 ) 数字。 GetValue ( 1 ) ;

コンソール。 書き込み行 ( 'インデックス 1 の値: ' + valueAtIndex ) ;

// 配列内の特定の値のインデックスを見つける

整数 indexOfValue = 配列。 の指標 ( 数字 9 ) ;

コンソール。 書き込み行 ( '値 9 のインデックス: ' + indexOfValue ) ;

// 配列が固定サイズで読み取り専用かどうかを確認します

bool isFixedSize = 数字。 IsFixedSize ;

bool isReadOnly = 数字。 IsReadOnly ;

コンソール。 書き込み行 ( 「固定サイズですか?」 + isFixedSize ) ;

コンソール。 書き込み行 ( 「読み取り専用ですか?」 + isReadOnly ) ;

// 配列内の特定の値の最後のインデックスを見つける

整数 lastIndexOfValue = 配列。 LastIndexOf ( 数字 9 ) ;

コンソール。 書き込み行 ( '値 9 の最後のインデックス:' + lastIndexOfValue ) ;

// 配列の長さを取得します

整数 長さ再び = 数字。 長さ ;

コンソール。 書き込み行 ( '配列の長さ:' + 長さ再び ) ;

// 配列のランクを取得

整数 ランク = 数字。 ランク ;

コンソール。 書き込み行 ( '配列のランク: ' + ランク ) ;

// 配列のサイズを変更

配列。 サイズ変更 ( 参照番号 10 ) ;



// 配列の内容を反転

配列。 逆行 ( 数字 ) ;

コンソール。 書き込み行 ( 「反転後の配列:」 ) ;

ために ( 整数 = 0 ; < 数字。 長さ ; ++ )

{

コンソール。 書く ( 数字 [ ] + ' ' ) ;

}

コンソール。 書き込み行 ( ) ;



// 配列の内容を並べ替える

配列。 選別 ( 数字 ) ;

コンソール。 書き込み行 ( 「並べ替え後の配列:」 ) ;

ために ( 整数 = 0 ; < 数字。 長さ ; ++ )

{

コンソール。 書く ( 数字 [ ] + ' ' ) ;

}

}

}

出力

結論

C# の System.Array クラスは、すべての型の配列を操作するための基盤を提供します。単純な 1 次元配列を作成する必要がある場合でも、複雑な多次元配列を作成する場合でも、System.Array クラスは、データを効果的に操作および操作するためのさまざまなメソッドを提供します。 C# での System.Array の詳細な説明については、記事を参照してください。