前面介紹的變量都有一個基本的取值范圍,除了String類型之外,每種類型的變量在內存中只占一定數量的字節,下面介紹3種用戶自定義的復雜變量。
一. 枚舉型
定義枚舉型:關鍵字enum
使用方法:
enum Ename
{
Value1,value2,………….valueN
}
聲明一個Ename類型的枚舉變量 Ename myenum=Ename.value;默認情況下枚舉類型的類型是int,value1,value2等的值默認從0依次遞增1。同時也可以使用其他類型。請看例題:
enum Days
{
Monday=1,
Tursday=2,
Wensday=3,
Thursday=4,
Friday=5,
Saturday=6,
Sunday=7
}
enum Days :short
{
}
使用
Days myday = Days.Friday;
Console.WriteLine("myday is{0} :",myday);
輸出結果如下圖所示:
定義enum的位置
枚舉型的基本類型可以是byte,sbyte,long ,short,ushort,int ,uint,ulong.
二. 結構體
結構體定義和使用的方法和枚舉類型差不多,只是在結構體中所有定義的變量都可以有自己的值,而在一個枚舉型變量的值只能是枚舉所有值中的一個,在上面的例題中Days myday的值只能是一個星期中的某一天。同樣我們先看一個結構體的使用過程。
struct Cloth //結構體名字
{
public int age;//衣服使用壽命
public string sex;//合適性別
public string style;//款式
public double price;//價格
public double count;//折扣
}
Cloth mycloth;
mycloth.age = 2;
mycloth.count = 0.98;
mycloth.price = 999.99;
mycloth.sex = "man";
mycloth.style = "長褲";
輸出是:
Console.WriteLine("結構體數據輸出:");
Console.WriteLine("age={0},sex={1},style={2},price={3},count={4}",mycloth.age,mycloth.sex,mycloth.style,mycloth.price,mycloth.count);
結果是:
三. 數組
數組是用來存儲大量類型一樣而數值不一樣數據的。例如在一個班級的同學信息中,用一個字符串數組來保存所有同學的姓名。
string[] StuNames = new string[5];
StuNames[0] = "國家";
StuNames[1] = "人們";
StuNames[2] = "中國";
StuNames[3] = "漢族";
StuNames[4] = "主席";
foreach (string sName in StuNames)
Console.WriteLine(sName);
輸出結果圖:
數組的使用包括數組聲明和初始化,在定義數組時,數組的長度是一個常數,不能用個變數來表示:例如:int[] score = new int[7]; int []score=new int [const Size];或者int[] EnglishScore ={ 1, 5, 6, 8, 5, 7, 74 };
數組在訪問之前必須初始化,如果只定義了而沒有初始化則會出現錯誤的。
多維數組:可以根據需要定義不同維數的數字,一維,二維數組使用的比較多,而3維以上的數組使用頻率就罕見了。例如定義一個二維數組來表示某個班級30個人的三門課程的成績,double [] stuScore=new double[30][3],那麼stuScore[1][2]表示第二個學生第三門課程的成績,這些例子不多說了,大家要編程親自體會。