變量的作用域
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),溧水企業(yè)網(wǎng)站建設(shè),溧水品牌網(wǎng)站建設(shè),網(wǎng)站定制,溧水網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,溧水網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
可以在類、接口、方法、語句塊、結(jié)構(gòu)體中定義變量。
與Java類似,C#中沒有C++中的所謂全局變量的概念。
雖然很多書上會將在類中定義的static變量或const變量說明為全局變量,但是這種類的成員變量(或者叫類的屬性)和C++中的全局變量有很大的差別。C++中的全部變量是直接定義在所有的函數(shù)和類之外的,但C#和Java中不能定義這種變量。
比較有意思的一點:
對于string類型以及類類型等的變量,如果是在循環(huán)語句外聲明,但沒有初始化,而是在循環(huán)語句中進(jìn)行初始化,則在循環(huán)語句外部,該變量仍被視為沒有初始化。也就是說,在循環(huán)語句體中進(jìn)行的初始化值,在退出循環(huán)語句時就被消除了。
但是,如果在循環(huán)語句之前對變量進(jìn)行了初始化,那么循環(huán)體中對變量進(jìn)行的任何改變都會被保留下來。(Java中也是如此)
如:
string str; for(int i = 0; i < 10; i++) { str = "Line : " + Convert.ToString(i); } Console.WriteLine(str); //會報錯,說str沒有初始化
這樣就可以
string str = ""; for(int i = 0; i < 10; i++) { str = "Line : " + Convert.ToString(i); } Console.WriteLine(str); //str == "Line : 9"