列舉
列舉內容可結合上篇部落格一起理解
直接舉個例子,大家就明白了。
public
enum direct
public
enum gender
我對列舉的理解:列舉就是將可能的有限的值放在一起,規定好了幾個確定的值,那為什麼要這樣做呢???
舉個例子表示「女」的詞彙有很多,比如女生,女孩,美女,等等等,沒有乙個統一的規定,每個人用的名稱都不一樣,比如要在資料庫中檢索,我到底查女生呢還是查美女呢,這樣查出來會不會有遺漏產生呢。而引入列舉之後,列舉值限定了變數的取值範圍,不管是美女還是女漢子,都統一用「女」來表示,這樣就更加的規範了。
注意:列舉可以強轉為int型別,列舉值實質上本質上就是int型別。(在上篇部落格中有詳細介紹)
通常情況下,最好是在命名空間內直接定義列舉,以便該命名空間中的所有類都能夠同樣方便的訪問它。
gender gender = gender.女;
int num =
(int
)gender;
console.
writeline
(num)
; console.
readkey()
;//將字串型別轉換為列舉型別
gender g =
(gender)
(enum.
parse
(typeof
(gender)
,"男"))
;
結構體
思考?老師要統計班長的姓名、年齡、性別、郵箱和家庭住址,這時候我們要分別宣告五個變數來儲存這五個資訊。如果按照同樣的思路,老師要統計全班的資訊的時候,假設全班有30個人,那麼這時候是不是就要宣告150個變數呢?人數越多,我們需要宣告的變數就越多,如何解決這個問題呢,這時候就要引入結構體了。
舉個例子:下面就用到了people這個結構體,在結構體裡面宣告了姓名、年齡、性別、**、位址這五個變數,後面張三和小蘭都是用的這五個變數。沒有在重新宣告新的變數。
//結構體宣告語法
[訪問修飾符]
struct 結構名
//在命名空間中宣告
public
struct people
//在main主函式中使用
people zspeople;
zspeople._name =
"張三"
;//張三的姓名
zspeople._*** = gender.男;
//張三的性別,用到了列舉
zspeople._age =21;
//張三的年齡
zspeople._telephone =
"234576878"
;//張三的**
zspeople._address =
"河北省廊坊市"
;//張三的位址
people xlpeople;
xlpeople._name =
"小蘭"
;//小蘭的姓名
xlpeople._*** = gender.女;
//小蘭的性別,用到了列舉
xlpeople._age =23;
//小蘭的年齡
xlpeople._telephone =
"1841111111"
;//小蘭的**
xlpeople._address =
"河北省滄州市"
;//小蘭的位址
【總結】
從上面的例子中,我們可以看出結構體是用來一次性的宣告多個不同型別的變數的。而下面要講的陣列,則是用來一次性宣告多個相同型別的變數的。
陣列陣列的宣告方法
//第一種
int[
] nums =
newint[10
];//長度為10,索引為0-9,int型別
//第二種
int[
] nums2 =
newint
;//陣列長度為5,下標為0-4,存了5個值,中括號沒有值,但是大括號裡面有元素數,有5個元素,所以斷定此陣列只能存5個值
//第三種
int[
] nums3 =
newint[3
];//長度為3,下標為0-2,3個值,int型別
//第四種
int[
] nums4 =
;//長度為5,下標為0-4,int型別,5個值
//下面是一種錯誤的宣告,大括號內必須也是5個元素才可以
//int nums3 = new int[5] ; /
下面是變數的賦值和取值:
//賦值
int[
] nums =
newint[5
];for(
int i =
0; i <
5; i++
)//取值
int[
] numbers =
;//陣列中有三個數
for(
int i =
0; i <
5; i++
) console.
readkey()
;
注意
int[i] nums=new int[5];
在這裡i叫做下標或者索引,從0開始,通過下標和索引可以對陣列進行取值或者賦值。
C 列舉 結構體 陣列
列舉 定義乙個列舉型別的變數,這個變數有很多相同型別的值。比如性別gender這個變數可以有男和女這兩個值。引用列舉型別的好處 1.在給變數賦值的時候可以直接引用列舉型別的值 2.有了列舉型別的值,在後期輸入的時候可以規範化 使用 先要在命名空間裡宣告列舉型別的變數並給變數賦值 然後在主類中用 程式...
C 結構體 共用體 列舉
一 結構體 首先為什麼要使用結構體?比如說你要儲存乙個學生的資訊,包含 姓名 char 學號 int 成績 double 我們希望可以把這些資訊放在乙個單元中,陣列滿足不了這種要求,因為陣列中每個元素的型別是一樣的。所以我們就需要別外一種資料格式,以就是現在要說的結構體 結構體是由使用者自己定義的一...
C結構體 共用體 列舉
一 結構體三種定義方式 1 先宣告結構體型別,再定義變數名 struct student struct student student1,student2 2 在宣告型別的同時宣告變數 struct student student1,student2 3 直接定義結構體型別變數 struct stu...