国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#數組之一維數組

2023-05-02 19:48:25
字體:
來源:轉載
供稿:網友

數組是一種常用的數據類型,且屬于引用類型。它是由一組相同數據類型的元素構成的。在C#語言的類型系統中,數組由抽象類System.Array派生而來的。在內存中,數組占用一塊連續的內存,元素按順序連續存放在一起,數組中每一個單獨的元素并沒有自己的名字,但是可以通過其位置(索引)來進行訪問或修改。

在C#中,數組元素的索引是從0開始的,即對于有N個元素的數組,其索引范圍是從0~N-1。

在這里重點討論一下一位數組的使用方法。

1.一維數組的聲明

數組聲明時,主要聲明數組的名稱和所包含的元素類型,一般格式如下:

數組類型[] 數組名;

數組類型,可以使C#中任意有效的數據類型,包括類;數組名可以是C#中任意有效的標識符。下面是數組聲明的幾個例子:

int[ ] num;
float [ ] fNum;
string[ ] sWords;
Studnet[ ] stu; //Student是已定義好的類類型

注意:

數據類型[ ] 是數組類型,變量名放在[ ]后面,這與C和C++是不同的;

聲明數組時,不能指定長度。

2.一維數組的創建

創建數組就是給數組對象分配內存。因為數組本身也是類,所以跟類一樣,聲明數組時,并沒有真正創建數組,使用前,要用new操作符來創建數組對象。創建方法有以下幾種方法:

(1)先聲明,后創建

形式為:

數據類型[ ] 數組名;
數組名 = new 數據類型[元素個數];

下面舉幾個例子:

int [] num; num = new int[10]; //聲明并創建了一個具有10個整型元素的數組num。
string[ ] str; str = new string[3]; //聲明并創建了一個具有3個字符串數據類型的數組str.
double [] dnum; dnum = new double[5]; //聲明并創建了一個具有5個double型數據元素的數組dnum.

(2)聲明的同時創建數組

數據類型[ ] 數組名 = new 數據類型[元素個數];

下面是幾個例子:

int[] num = new int[10];
double[] t = new double[4];
short[] st = new short[17];

3.一維數組的初始化

數組在定義的同時給定元素的值,即為數組的初始化,初始化方法有以下幾種:

(1)數據類型[ ] 數組名 = new 數據類型[元素個數]{初始值列表}; 如以下例子:

int [] num = new int[4]{12,34,56,78};
string[ ] str = new string[3]{"you","and","me"};
float[ ] f = new float[5]{1.345f,12,13.5f,109.345f,12.1f};

(2)省略數組的大小,即:數據類型[ ] 數組名 = new 數據類型[ ]{初始值列表}; 如以下的例子:

short[ ] st = new short[]{2,4,67,3}; //數組元素的個數為4
int[ ] iNum = new int[]{23,45,67,89,100,234,567,234}; //數組元素的個數為8

(3)進一步省略new和數據類型[],即:數據類型[ ] 數組名 = {初始值列表}; 如以下的例子:

string[ ] names = {"wangtao","liuli","sanmao","shanghaitan","jinghuayanyun"};
int [ ] iNum = {45,28,34,74,84};

4.一維數組的賦值

要給數組賦值,需要用到數組的索引,格式為:

數組名[索引值] = 數據的值;

下面試一個例子:

int [] a = new int[4];

a[0] = 24;
a[1] = 54;
a[2] = 87;
a[3] = 93;

注意到以上的例子索引是從0~3。我們也看出,在給數組進行大量的賦值時,顯得較麻煩,不如初始化方便。

5.數組類常用屬性和方法

Length 獲得數組元素的個數

Rank 獲得數組的秩(維數),對于一維數組來說,Rank 總是為1。

GetLength(int) 獲得指定維度的元素個數。

6.數組應用舉例

用選擇法對10個數按著由小到大進行排序。

源程序代碼如下:

using System;

class Class1
{
static void Sort(int[] a)
{
int i,j,k,temp;
for(i=0;i<a.Length-1;i++)
{
k=i;
for(j=i+1;j<a.Length;j++)
if(a[k]>a[j])
k=j;
if(k!=i)
{temp = a[i];a[i] = a[k]; a[k] = temp;}
}
}
static void Main(string[] args)
{
int[] AA = new int[]{918,124,58,1125,825,51,82};
Sort(AA);
Console.WriteLine("排序后的結果:");
for(int i=0;i<AA.Length;i++)
Console.Write(AA[i]+" ");
Console.WriteLine();
}
}

運行結果如下:

 C#排序

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肥乡县| 永寿县| 华池县| 和田市| 包头市| 阿克陶县| 寿阳县| 吉木乃县| 正蓝旗| 堆龙德庆县| 垫江县| 慈利县| 黄大仙区| 即墨市| 龙井市| 余江县| 克东县| 隆子县| 元朗区| 孙吴县| 定州市| 怀来县| 灵寿县| 兴宁市| 晋江市| 江达县| 休宁县| 渭南市| 稻城县| 紫阳县| 故城县| 商丘市| 浦县| 旺苍县| 柳州市| 米脂县| 乌海市| 朝阳市| 来宾市| 保德县| 仙游县|