C#配列の詳しい説明

Dec 17, 2016 pm 05:33 PM

配列は次のように宣言されるデータ構造です:

type[] arrayName;

配列には次のプロパティがあります:

1. 配列は 1 次元、多次元、またはインターリーブにすることができます。
2. 数値配列要素のデフォルト値はゼロに設定され、参照要素のデフォルト値は null に設定されます。
3. ギザギザ配列は配列の配列であるため、その要素は参照型であり、null に初期化されます。
4. 配列のインデックスは 0 から始まります。n 個の要素を持つ配列のインデックスは 0 から n-1 までです。
5. 配列要素は、配列型を含む任意の型にすることができます。

一次元配列

//声明一维数组,没有初始化,等于null 
  int[] intArray1; 
  //初始化已声明的一维数组 
  intArray1 = new int[3]; //数组元素的默认值为0 
  intArray1 = new int[3]{1,2,3}; 
  intArray1 = new int[]{1,2,3}; 
   
 
  //声明一维数组,同时初始化 
  int[] intArray2 = new int[3]{1,2,3}; 
  int[] intArray3 = new int[]{4,3,2,1}; 
  int[] intArray4 = {1,2,3,4}; 
  string[] strArray1 = new string[]{"One","Two","Three"}; 
  string[] strArray2 = {"This","is","an","string","Array"};
ログイン後にコピー

多次元配列

//声明二维数组,没有初始化 
 short[,] sArray1; 
 //初始化已声明的二维数组 
 sArray1 = new short[2,2]; 
 sArray1 = new short[2,2]{{1,1},{2,2}}; 
 sArray1 = new short[,]{{1,2,3},{4,5,6}}; 
  
 //声明二维数组,同时初始化 
 short[,] sArray2 = new short [1,1]{{100}}; 
 short[,] sArray3 = new short [,]{{1,2},{3,4},{5,6}}; 
 short[,] sArray4 = {{1,1,1},{2,2,2}}; 
 //声明三维数组,同时初始化 
 byte[,,] bArray1 = {{{1,2},{3,4}},{{5,6},{7,8}}};
ログイン後にコピー

ギザギザ配列

//声明交错数组,没有初始化 
 int[][] JagIntArray1; 
 //初始化已声明的交错数组 
 JagIntArray1 = new int [2][] { 
     new int[]{1,2}, 
     new int[]{3,4,5,6} 
    }; 
 JagIntArray1 = new int [][]{ 
      new int[]{1,2}, 
     // new int []{3,4,5}, 
      intArray2 //使用int[]数组变量 
     }; 
 //声明交错数组,同时初始化 
 int[][] JagIntArray2 = { 
     new int[]{1,1,1}, 
     //new int []{2,2}, 
     intArray1 
     };
ログイン後にコピー

配列とは、共通名を使用してグループ化され、割り当てられた添え字を通じてアクセスされる、同じ型の要素のグループです。

配列は同じ型のデータのセットです。配列内のデータにアクセスする場合、添え字を付けて指定できます。 C# の配列要素は任意のデータ型にすることができます。配列の添字は 0 から始まり、最初の要素に対応する添字は 0 であり、その後 1 つずつ増加します。配列は 1 次元または多次元にすることができます。

1次元配列は最も基本的な配列型であり、その宣言方法は次のとおりです:

データ型 [ ] 配列名;

例:
int [ ] anArray ; // 整数型の1次元配列を宣言します。

with two 2 次元の配列は 2 次元配列であり、その宣言方法は次のとおりです。
データ型 [ , ] 配列名
例:

int [ , ] anArray ; // 2 次元の配列を宣言します。整数の次元配列
float [ , ]anArrayOfFloats ; // 浮動小数点型の 2 次元配列を宣言します
string [ , ] anArrayOfStrings; // 文字列型の 2 次元配列を宣言します

配列が作成されておらず、配列内の要素にメモリ空間が割り当てられていないため、配列を宣言した後、配列をインスタンス化する必要があります。

anArray = new int [2,4] ; new starng [2,4] ;

配列要素の初期化に指定された値を使用することもできます。

int [, ] anArray = 新しい int [2, 4] {{1,2,3,4},{5,6,7,8}};

string [, ] anArrayOfStrings = 新しい文字列 [2, 2] ] {{"A","B"}, {"チャンピオン","準優勝"}};

次のショートカットも使用できます:

int [, ] anArray = {{0,1,2 , 3},{1,2,3,4}};

string [, ] anArrayOfStrings = {{"A","B"}, {"優勝","準優勝"}};

C# language 、配列はいくつかの便利な機能を提供しており、これらの機能を使用すると、より高度な機能を実行できます。

配列名.Length: 配列のすべての次元の要素の合計数を表す整数を返します。
配列名.Rank: 配列の次元を表す整数を返します。
配列名.GetLength(int 次元): 配列の指定された次元 (パラメーター次元で指定され、次元は 0 から始まります) の要素の数を表す整数を返します。

4. foreach ステートメントは、配列またはコレクション内の各要素に対して埋め込みステートメントをループで実行します。

foreach ステートメントの構文形式は次のとおりです。
foreach (式内のデータ型識別子)
埋め込みステートメント

//6 つの要素を含む 1 次元の整数配列

int[] mf1=new int[6]; // Pay初期化された配列の範囲に注意するか、初期値を指定します。

//6 つの要素を含む 1 次元の整数配列、初期値は 1, 2, 3, 4, 5, 6

int[] mf2=new int[ 6]{ 1,2,3,4,5,6};

//一次元の文字列配列、初期化子が提供されている場合は、新しい演算子を省略することもできます
string[] mf3={"c", "c++","c#"};

//1 次元のオブジェクト配列

Object[] mf4 = new Object[5] { 26, 27, 28, 29, 30 };

//2 次元の整数配列、初期値 mf5[0,0]=1,mf5[0,1]=2,mf5[1,0]=3,mf5[1,1]=4
int[,] mf5=new int[,] {{ 1,2},{3,4}};

//6*6 2 次元整数配列
int[,] mf6=new mf[6,6];

1 次元を見てみましょうstring Array traversal

using System; 
public class MikeCat 
{ 
static void PrintArray(string[] arr) 
{ 
//打印数组元素,arr.Length 表示数组元素的个数 
for(int i=0;i<arr.Length;i++) 
{ 
Console.WriteLine("arr[{0}]={1}",i,arr[i]); 
} 
} 
public static void Main() 
{ 
string[] arr={"c","c++","c#"}; 
//将数组作为一个参数传递 
PrintArray(arr); 
} 
}
ログイン後にコピー

プログラムの結果: arr[0]=c arr[1]=c++ arr[2]=c#

4 行 2 列 (4*2) の整数配列の走査を見てみましょう。

using System; 
public class MikeCat 
{ 
static void PrintArray(int[,] arr) 
{ 
//通过两次FOR循环遍历二维数组 
for(int i=0;i<4;i++)//初始化i作为循环变量,i++实现该变量的自增运算。 
//for循环满足条件后执行完循环体一次后执行i++,然后进入下次循环。简单的c语法,这里做简单介绍供初学者学习。(详细可参阅《c# 高级编程4.0》一书) 
{ 
for(int j=0;j<2;j++) 
{ 
Console.WriteLine("arr[{0},{1}]={2}",i,j,arr[i,j]);//打印每个二维数组元素 
} 
} 
} 
public static void Main() 
{ 
//主函数 
//将数组作为一个参数传递 
PrintArray(new int[,]{{1,2},{3,4},{5,6},{7,8}}; 
} 
}
ログイン後にコピー
上記は C# 配列の詳細な説明です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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:30 PM

C# シリアル化のガイド。ここでは、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:33 PM

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

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

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

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

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

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

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

See all articles