电竞比分网-中国电竞赛事及体育赛事平台

分享

詳解C語言的C#數組

 碼農9527 2022-01-11

 數組是一種存儲相同類型元素的固定大小順序集合。數組用于存儲數據集合,但一般會將數組視為存儲在連續(xù)存儲器位置的相同類型的變量的集合。

  如果要存儲表示100名稱學生的分數,需要獨立地聲明100整數變量。例如:number0.number1...., number100這樣單個獨立變量。而如果使用一個數組變量來表示就省事多了。例如,首先聲明數組:numbers,使用numbers[0],numbers[1]和...,numbers[99]來表示單個變量,數組中的元素可通過索引來訪問。

  所有數組是由連續(xù)的內存位置組成。最低的地址對應于第一個元素,而最后一個元素的地址最高。

  聲明數組

  要在 C# 中聲明一個數組,可以使用以下語法:

datatype[] arrayName;1復制代碼類型:[csharp]

  其中 :

  datatype : 用于指定數組中元素的類型。

  [] : 指定數組序號,rank指定數組的大小。

  arrayName : 指定數組的名稱。

  例如,

double[] balance;1復制代碼類型:[csharp]

  初始化數組

  聲明數組不會將的數組初始化到內存中。將數組變量初始化時,可以為數組指定值。

  數組是一個引用類型,因此需要使用new關鍵字來創(chuàng)建數組的實例。 例如,

double[] balance = new double[10];1復制代碼類型:[csharp]

  數組賦值

  可以通過使用索引數為各個數組元素分配值,如:

double[] balance = new double[10];
balance[0] = 1500.0;
balance[1] = 1000.0;
balance[2] = 2000.0;1234復制代碼類型:[csharp]

  也可以在聲明時為數組指定值,如下所示:

double[] balance = { 240.08, 523.19, 121.01};12復制代碼類型:[csharp]

  還可以在創(chuàng)建時初始化數組,如下所示:

int [] marks = new int[5]  { 89,  98, 97, 87, 85};12復制代碼類型:[csharp]

  也可以省略數組的大小,如下所示:

int [] marks = new int[]  { 100,  97, 96, 97, 95};1復制代碼類型:[csharp]

  可以將數組變量復制到另一個目標數組變量中。在這種情況下,目標和源都指向相同的內存位置:

int [] marks = new int[]  { 99,  98, 92, 97, 95};int[] score = marks;12復制代碼類型:[csharp]

  創(chuàng)建數組時, C# 編譯器會根據數組類型將每個數組元素初始化為默認值。 例如,對于int類型的數組,所有元素都將初始化為0.

  訪問數組元素

  通過索引和數組名稱來訪問數組的元素。這是通過將元素的索引放在數組的名稱后面的方括號內完成的。 例如,

double salary = balance[9];1復制代碼類型:[csharp]

  以下示例演示了如何聲明,賦值和訪問數組:

using System;namespace ArrayApplication{   class MyArray
   {   static void Main(string[] args)
   {   int []  n = new int[10]; /* n is an array of 10 integers */
   int i,j;   /* initialize elements of array n */
   for ( i = 0; i < 10; i++ )
   {
   n[ i ] = i + 100;
   }   /* output each array element's value */
   for (j = 0; j < 10; j++ )
   {
   Console.WriteLine("Element[{0}] = {1}", j, n[j]);
   }
   Console.ReadKey();
   }
   }
}12345678910111213141516171819202122232425復制代碼類型:[csharp]

  當編譯和執(zhí)行上述代碼時,會產生以下結果:

Element[0] = 100Element[1] = 101Element[2] = 102Element[3] = 103Element[4] = 104Element[5] = 105Element[6] = 106Element[7] = 107Element[8] = 108Element[9] = 10912345678910復制代碼類型:[csharp]

  使用foreach循環(huán)

  在前面的例子中,我們使用for循環(huán)訪問每個數組元素。還可以使用foreach語句來遍歷數組。參考以下代碼 :

using System;namespace ArrayApplication{   class MyArray
   {   static void Main(string[] args)
   {   int []  n = new int[10]; /* n is an array of 10 integers */

   /* initialize elements of array n */
   for ( int i = 0; i < 10; i++ )
   {
   n[i] = i + 100;
   }   /* output each array element's value */
   foreach (int j in n )
   {   int i = j-100;
   Console.WriteLine("Element[{0}] = {1}", i, j);

   }
   Console.ReadKey();
   }
   }
}1234567891011121314151617181920212223242526復制代碼類型:[csharp]

  當編譯和執(zhí)行上述代碼時,會產生以下結果:

Element[0] = 100Element[1] = 101Element[2] = 102Element[3] = 103Element[4] = 104Element[5] = 105Element[6] = 106Element[7] = 107Element[8] = 108Element[9] = 10912345678910復制代碼類型:[csharp]

  C# 數組類型

  C# 程序員應該要清楚以下幾個與數組有關的重要概念:

概念描述
多維數組C# 支持多維數組,多維數組的最簡單形式是二維數組。
鋸齒數組C# 支持多維數組,它們是數組的數組。
將數組傳遞給函數可以通過指定數組的名稱而不使用索引,將數組傳遞給函數。
參數數組這用于將未知數量的參數傳遞給函數。
Array類

System命名空間中定義,它是所有數組的基類,

并提供了處理數組的各種屬性和方法。

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多