日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#中变量(成员变量、局部变量、全局变量)的作用域

發(fā)布時間:2023/12/10 C# 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#中变量(成员变量、局部变量、全局变量)的作用域 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

不管在任何編程語言中都有變量的定義,變量就像是一個容器,不同的變量會在內(nèi)存中占據(jù)不同大小的內(nèi)存空間。定義變量后會將分配的地址綁定在這個變量名上,以后對該變量名的操作就是對該內(nèi)存地上存儲內(nèi)容的操作。

namespace test {class myTest{int loop = 0; //實例成員變量static int num = 0; //靜態(tài)成員變量public static int value = 10; //全局變量void Main(){int m = 0; //局部變量for (int i = 0; i < 100; i++){//i為局部變量,其作用域僅為for循環(huán)體內(nèi)Console.WriteLine(i);}}} }

成員變量:在類中定義的變量,在整個類中都有效,類中定義的方法都可以使用該變量。成員變量又可以分為實例成員變量和靜態(tài)成員變量。

  • 靜態(tài)成員變量:使用static修飾的成員變量,static用于把屬性和方法綁定到類本身,而不是使用類創(chuàng)建的對象。使用靜態(tài)成員變量時直接使用類名稱進行調(diào)用,無論用戶使用該類創(chuàng)建了多少個對象,靜態(tài)成員變量始終只有一個,始終綁定到類本身,每個創(chuàng)建的對象中并不存在該靜態(tài)成員變量。
  • 實例成員變量:實例成員變量是綁定使用類創(chuàng)建的對象上的,要想使用實例成員變量,必須先使用類創(chuàng)建一個對象。使用實例成員變量時是使用對象名進行調(diào)用,使用同一類創(chuàng)建的多個對象中各自有自己的實例成員變量,互相隔離,互不干擾。

局部變量:在方法體中定義的變量,其使用范圍只局限在定義它的方法之中或者方法之中的循環(huán)體之內(nèi),作用域不超過一個大括號

全局變量:在類中定義的變量用static修飾的變量為全局變量,在整個namespace中的所有類中都可以使用

?

需要注意的是:定義變量時不能在同一作用域內(nèi)定義相同名稱的變量

?

注意:

1)C#中定義的變量在使用之前必須進行初始化,否則編譯器會報錯

大多數(shù)的現(xiàn)代編譯器并未將未初始化的變量標記為警告,例如在C語言中就可以再定義變量后不賦值就進行使用,此時變量中存儲的是垃圾值,但C#編譯器將使用未初始化的變量作為錯誤。

C#中有兩種方法可確保變量在使用前對其進行初始化:

  • 變量是類或結(jié)構(gòu)中的字段,如果沒有顯式初始化,創(chuàng)建這些變量時,其值就默認是0(類和結(jié)構(gòu)在后面討論)
  • 方法中定義的局部變量必須在代碼中顯式初始化,之后才能在語句中使用該變量。此時,初始化不是在聲明該變量時進行的,但編譯器會通過方法檢查所有可能的路徑,如果檢測到局部變量在初始化之前就使用了它的值,就會產(chǎn)生錯誤

?

?

?

總結(jié)

以上是生活随笔為你收集整理的C#中变量(成员变量、局部变量、全局变量)的作用域的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。