目次
多次元配列の初期化
C# 多次元配列の例
例 #3
長所と短所
メリット
デメリット

C# 多次元配列

Sep 03, 2024 pm 03:12 PM
c# c# tutorial

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();
}
}
}
}
ログイン後にコピー

出力:

C# 多次元配列

例 #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();
}
}
}
ログイン後にコピー

出力:

C# 多次元配列

上記のプログラムは、多次元配列内の配列の要素にアクセスするための位置マーカーとしてインデックスを使用する方法を示しています。

例 #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");
}
}
}
}
ログイン後にコピー

出力:

C# 多次元配列

上記のプログラムを使用すると、最初の配列の各要素が 2 番目の配列のカウンター要素に追加され、配列の加算演算が完了しました。たとえば、array1 の最初の要素は 1 です。同様に、array2 の最初の要素は 9 です。加算の結果には、最初の要素が 10 である配列が含まれる必要があります。

長所と短所

以下は多次元配列の長所と短所です:

メリット

  • 多次元配列を使用すると、配列内のデータのサブグループを整理できます。多次元配列を使用して、データ メモリ アドレスをポインタ配列に格納することもできます。
  • プログラムでは、多次元配列は静的なサイズを持ち、最初に初期化されます。サイズを拡張するには、初期化中に関連するサイズを指定する必要があります。
  • 多次元配列を使用すると、行列演算を実行し、同じ変数割り当ての下で大きなデータ値を維持できます。
  • 多次元配列は、スタック、ヒープ、キュー、およびハッシュ テーブルを実装するために使用されます。

デメリット

  • 要素は配列の連続したメモリ位置に配置されます。したがって、要素の挿入と削除は、単一の要素に対する同様の操作よりも複雑になります。
  • また、要素を配列の途中に挿入することはできません。
  • 静的割り当てでは、必要以上に多くのメモリを割り当てると、無駄が発生したり、未使用のメモリの解放に失敗したりする可能性があります。これは悪影響を及ぼす可能性があります。
  • 多次元配列は、対応する単次元配列と比較すると低速になる可能性があり、これが大きな欠点です。これを克服するには、ギザギザの配列を多次元配列に置き換えます。

以上がC# 多次元配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

C# を使用した Active Directory C# を使用した Active Directory Sep 03, 2024 pm 03:33 PM

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

C# の乱数ジェネレーター C# の乱数ジェネレーター Sep 03, 2024 pm 03:34 PM

C# の乱数ジェネレーターのガイド。ここでは、乱数ジェネレーターの仕組み、擬似乱数の概念、安全な数値について説明します。

C# データ グリッド ビュー C# データ グリッド ビュー Sep 03, 2024 pm 03:32 PM

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

C# の階乗 C# の階乗 Sep 03, 2024 pm 03:34 PM

C# の Factorial のガイド。ここでは、C# での階乗の概要について、さまざまな例とコード実装とともに説明します。

マルチスレッドと非同期C#の違い マルチスレッドと非同期C#の違い Apr 03, 2025 pm 02:57 PM

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

C# のパターン C# のパターン Sep 03, 2024 pm 03:33 PM

C# のパターンのガイド。ここでは、C# のパターンの概要と上位 3 種類について、その例とコード実装とともに説明します。

C# の素数 C# の素数 Sep 03, 2024 pm 03:35 PM

C# の素数ガイド。ここでは、C# における素数の導入と例を、コードの実装とともに説明します。

C#対C:歴史、進化、将来の見通し C#対C:歴史、進化、将来の見通し Apr 19, 2025 am 12:07 AM

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

See all articles