本地變數 全域性變數 型別推斷var

2021-09-29 00:01:16 字數 593 閱讀 2595

與c++不同,c#在型別的外部不能宣告全域性變數所有欄位都屬於型別,而且必須在型別宣告內部宣告,同理也沒有全域性函式,c#中方法沒有預設返回型別,所有方法必須包含返回型別或void。

在c++中,可以宣告乙個本地變數,然後在巢狀塊中宣告另乙個相同名稱的本地變數,在內部範圍,內部名稱掩蓋了外部名稱,然而在c#中不管巢狀級別如何,都不能在第乙個名稱的有效作用域內宣告另乙個同名的本地變數

c#:

class program

}}

c++:

int main()

cout << i << endl; //10

}

在c#中可以使用var進行型別推斷,類似c++中的auto

var使用條件:

(1)只能用於本地變數,不能用於字段

(2)只能在變數宣告中包含初始化時使用

(3)一旦編譯器推斷出變數的型別,它就是固定且不能更改的

var 全域性變數 區域性變數

var n1 1 n2 2 function f1 console.log n1 n1 console.log n2 n2 n3 n3 error n3 is not defined n4 n4 error n4 is not defined console.log f1 console.log n...

全域性變數 VS 本地變數

linux shell全域性變數與本地變數 變數釋放 全域性變數 程式內所有函式可以直接呼叫的變數,對所有函式都是可見的,程式執行完成後釋放變數所佔記憶體。區域性變數 相對於全域性變數,作用域僅在某個函式中,當函式執行完成釋放記憶體。全域性變數定義 在函式外定義變數,若沒有初始化則預設0值。本地 區...

static全域性變數 全域性變數

1 全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是...