溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#中變量的作用域

發(fā)布時間:2020-07-09 20:43:29 來源:網(wǎng)絡(luò) 閱讀:1038 作者:mista 欄目:編程語言

變量的作用域

可以在類、接口、方法、語句塊、結(jié)構(gòu)體中定義變量。

Java類似,C#中沒有C++中的所謂全局變量的概念。

雖然很多書上會將在類中定義的static變量或const變量說明為全局變量,但是這種類的成員變量(或者叫類的屬性)和C++中的全局變量有很大的差別。C++中的全部變量是直接定義在所有的函數(shù)和類之外的,但C#和Java中不能定義這種變量。


比較有意思的一點(diǎn):

對于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);    //會報(bào)錯,說str沒有初始化

這樣就可以

string str = "";
for(int i = 0; i < 10; i++)
{
    str = "Line : " + Convert.ToString(i);
}
Console.WriteLine(str);    //str == "Line : 9"


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI