C# 多次元配列
C# では、長方形配列または多次元配列は、行列形式の要素の構成を指します。多次元配列は 2 次元または 3 次元のみにすることができます。配列の次元は、変数内のデータの編成形式を指します。したがって、多次元配列を、行または列として直列またはシーケンスで構成された要素として定義できます。
構文:
以下は多次元配列の構文です:
2D 配列の宣言。
int[,] x=new int[1,2];
3D 配列の宣言。
int[,,] x=new int[1,2,3];
上記の構文は、2 次元および 3 次元の配列 (x) を宣言する形式を指定します。最初の配列には 2 つの要素 1 と 2 が含まれますが、3 次元配列には要素 1、2、3 が含まれます。
多次元配列の初期化
多次元配列は 3 つの異なる方法で初期化できます
1.宣言を完了
int[,] x = new int[6,6];
上記の仕様は、配列型、配列サイズ、new 演算子の使用を含め、2 次元配列を完全に初期化します。
2.新しい演算子
を使用しない初期化int[,] x = { { 3,2,1 }, { 6,5,4 }, { 9,8,7 } };
3.サイズを宣言せずに配列を初期化する
int[,] x = new int[,]{ { 3,2,1 }, { 6,5,4 }, { 9,8,7 } };
C# 多次元配列の例
以下は C# の多次元配列の例です:
例 #1
多次元配列の宣言と初期化を説明するプログラム。以下の例は、C# での多次元配列の作成を示しています。
コード:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { public static void Main(string[] args) { int[,] x = { { 3, 2, 1 }, { 6, 5, 4 }, { 9, 8, 7 } }; for (int a = 0; a < 3; a++) { for (int b = 0; b < 3; b++) { Console.Write(x[a, b] + " "); } Console.WriteLine(); } } } }
出力:
例 #2
2 次元配列の初期化、宣言、要素へのアクセスを説明するプログラム。
コード:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { /* declaring and initialising a two dimensional array*/ int[,] b = new int[6, 2] { { 1, 2 }, { 4, 3 }, { 5, 6 }, { 8,7 }, { 9 , 10 }, { 2, 3 } }; int i, j; /* accessing each of the elements value for the array */ for (i = 0; i < 6; i++) { for (j = 0; j < 2; j++) { Console.WriteLine("a[{0},{1}] = {2}", i, j, b[i, j]); } } Console.ReadKey(); } } }
出力:
上記のプログラムは、多次元配列内の配列の要素にアクセスするための位置マーカーとしてインデックスを使用する方法を示しています。
例 #3
2 つの多次元配列を加算するプログラム。
コード:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { public static void Main() { int[,] array1 = new int[3, 3]; int[,] array2 = new int[3, 3]; int[,] resultArray = new int[3, 3]; int i, j; Console.WriteLine("specify the members of the first array: "); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { array1[i, j] = Convert.ToInt32(Console.ReadLine()); } } Console.WriteLine("elements of the array1: "); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { Console.Write("{0} ", array1[i, j]); } Console.Write("\n"); } Console.WriteLine("specify the members of the array2: "); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { array2[i, j] = Convert.ToInt32(Console.ReadLine()); } } Console.WriteLine("elements of the array2: "); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { Console.Write("{0} ", array2[i, j]); } Console.Write("\n"); } for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { resultArray[i, j] = array1[i, j] + array2[i, j]; } } Console.WriteLine("resultArray of the array1 and array2 looks as below : "); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { Console.Write("{0} ", resultArray[i, j]); } Console.Write("\n"); } } } }
出力:
上記のプログラムを使用すると、最初の配列の各要素が 2 番目の配列のカウンター要素に追加され、配列の加算演算が完了しました。たとえば、array1 の最初の要素は 1 です。同様に、array2 の最初の要素は 9 です。加算の結果には、最初の要素が 10 である配列が含まれる必要があります。
長所と短所
以下は多次元配列の長所と短所です:
メリット
- 多次元配列を使用すると、配列内のデータのサブグループを整理できます。多次元配列を使用して、データ メモリ アドレスをポインタ配列に格納することもできます。
- プログラムでは、多次元配列は静的なサイズを持ち、最初に初期化されます。サイズを拡張するには、初期化中に関連するサイズを指定する必要があります。
- 多次元配列を使用すると、行列演算を実行し、同じ変数割り当ての下で大きなデータ値を維持できます。
- 多次元配列は、スタック、ヒープ、キュー、およびハッシュ テーブルを実装するために使用されます。
デメリット
- 要素は配列の連続したメモリ位置に配置されます。したがって、要素の挿入と削除は、単一の要素に対する同様の操作よりも複雑になります。
- また、要素を配列の途中に挿入することはできません。
- 静的割り当てでは、必要以上に多くのメモリを割り当てると、無駄が発生したり、未使用のメモリの解放に失敗したりする可能性があります。これは悪影響を及ぼす可能性があります。
- 多次元配列は、対応する単次元配列と比較すると低速になる可能性があり、これが大きな欠点です。これを克服するには、ギザギザの配列を多次元配列に置き換えます。
以上がC# 多次元配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

C#とCの歴史と進化はユニークであり、将来の見通しも異なります。 1.Cは、1983年にBjarnestrostrupによって発明され、オブジェクト指向のプログラミングをC言語に導入しました。その進化プロセスには、C 11の自動キーワードとラムダ式の導入など、複数の標準化が含まれます。C20概念とコルーチンの導入、将来のパフォーマンスとシステムレベルのプログラミングに焦点を当てます。 2.C#は2000年にMicrosoftによってリリースされました。CとJavaの利点を組み合わせて、その進化はシンプルさと生産性に焦点を当てています。たとえば、C#2.0はジェネリックを導入し、C#5.0は非同期プログラミングを導入しました。これは、将来の開発者の生産性とクラウドコンピューティングに焦点を当てます。
