C#基礎知識編:基礎知識(14)配列
どの言語であっても、集合の概念は必ず存在します。最も単純で直感的なコレクションは配列です。配列はメモリ内の連続した空間です。 C# の配列
の定義を見てください。
1. int[] intArry;
intArry= new int[6];
ここで int 配列型変数 intArry が宣言され、6 単位の int 配列オブジェクトが保存されます;
int[,] intArry2 = new int[ 3, 4];
int の 2 次元配列型変数を宣言し、3 行 4 列の配列オブジェクトを初期化します
int[][] intArry3 = new int[9][];
配列単位を int 配列として宣言します。型配列変数。各配列要素は int 配列型のオブジェクト参照です。
オブジェクト指向言語であるため、参照とオブジェクトについては上で説明しました。実際:
1. .net Framework の配列は単純なデータ構造ではなく、配列型と呼ばれる型です。
2. .net Framework の配列変数は、配列型オブジェクトへの参照を格納します。つまり、配列は物体。
すべての .net Framework 配列 (int[]、string[]、object[]) は Array から継承されたサブクラスです。通常、Array クラスは直接使用されません。これは、C# を含む .net Framework のさまざまな言語が、配列オブジェクトを int[]、string[] などの独自の特別な構文にマップするためです。
連絡先コードの一部を見てみましょう:
public class MyArray { /// <summary> /// 定义数组测试 /// </summary> public void TestInt() { int[] intArry1 = null; intArry1 = new int[6]; int[,] intArry2 = new int[3, 4]; int[][] intArry3 = new int[9][]; } /// <summary> /// 值类型数组转引用类型数组测试 /// </summary> /// <param name="array"></param> /// <returns></returns> public static object[] Int32ToArrayOfObject(int[] array) { object[] objArray = new object[array.Length]; for (int i = 0; i < array.Length; i++) { objArray[i] = array[i]; } return objArray; } /// <summary> /// 数组的主要特性测试 /// </summary> public static void MainTest() { //声明一个包含是个元素的字符串型数组 string[] sArray = new string[10]; //访问数组 //赋值 for (int i = 0; i < sArray.Length; i++) { sArray[i] = @"string" + i; } ConsoleToClientString(sArray); //另一种方式声明数组,所谓的枚举法 sArray = new string[] { "TestString0", "TestString1", "TestString2" }; ConsoleToClientString(sArray); //数组复制 string[] newSArray = sArray.Clone() as string[]; ConsoleToClientString(newSArray); //使用Array的CreateInstance方法声明10元素的整形数组 int[] intArray = Array.CreateInstance(typeof(int), 10) as int[]; for (int i = 0; i < intArray.Length; i++) { intArray[i] = i; } ConsoleToClientInt(intArray); //数组之间的复制,指定位置,指定长度 int[] newIntArray = new int[20]; Array.Copy(intArray, 3, newIntArray, 4, intArray.Length - 3); ConsoleToClientInt(newIntArray); object[] objArray = sArray; ConsoleToClientObject(objArray); objArray = Int32ToArrayOfObject(intArray); ConsoleToClientObject(objArray); //数组的数组 int[][] intArrayArray = new int[9][]; Console.WriteLine("数组长度:" + intArrayArray.Length); //赋值 for (int i = 1; i < 10; i++) { intArrayArray[i - 1] = new int[i]; for (int j = 1; j <= i; j++) { intArrayArray[i - 1][j - 1] = i * j; } } ConsoleToClientArrayArrayInt(intArrayArray); //二维数组 int[,] intArray2D = new int[9, 9]; Console.WriteLine(string.Format("二维数组 长度:{0},维数:{1}*{2}", intArray2D.Length, intArray2D.GetLength(0), intArray2D.GetLength(1))); for (int i = 1; i < 10; i++) { for (int j = 1; j <= i; j++) { intArray2D[i - 1, j - 1] = i * j; } } int count = 0; foreach (int item in intArray2D) { if (item > 0) { Console.Write("{0,2}", item); } if (++count >= 9) { Console.WriteLine(); count = 0; } } } static void ConsoleToClientArrayArrayInt(int[][] intArrayArray) { foreach (int[] item1 in intArrayArray) { foreach (int item2 in item1) { Console.Write("{0,2}", item2); } Console.WriteLine(); } Console.WriteLine(); } static void ConsoleToClientString(string[] sArray) { foreach (string item in sArray) { Console.Write(item + @","); } Console.WriteLine(); } static void ConsoleToClientInt(int[] intArray) { foreach (int item in intArray) { Console.Write(item + @","); } Console.WriteLine(); } static void ConsoleToClientObject(object[] objArray) { foreach (object item in objArray) { Console.Write(item.ToString() + @","); } Console.WriteLine(); } }
Call
class Program { static void Main(string[] args) { MyArray.MainTest(); Console.ReadLine(); } }
上記のことから、次のことがわかります: 配列には参照型配列と値型配列がある 参照型配列の場合、要素は保存に使用されます。オブジェクトへの参照と値の初期化。値型配列の場合、要素は
オブジェクトの値を格納し、数値型の場合、初期値は 0 です。
を表し、多次元配列は各要素が配列オブジェクトである配列です。
上記は C# の基礎知識をまとめたものです: 基礎知識 (14) 配列の内容 その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









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

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