全域性變數往往在main函式中宣告,其作用範圍為整個**;區域性變數存在於宣告該變數的塊語句或方法結束的右花括號({})之前的作用域內。本文對c#中的一些變數宣告和範圍關係借幾個demo展示出來。
情況一:變數包含產生歧義
根據變數的作用域遵循的原則(區域性變數存在於宣告該變數的塊語句或方法結束的右花括號({})之前的作用域內),第乙個變數j是在for迴圈開始前定義的,它的作用域是main()方法;第二個變數的作用域是在for迴圈;第乙個變數j的作用域包含了第二個j的作用域。對編譯器來說會存在歧義,因為編譯器無法區分這兩個變數,所以不允許宣告第2個 變數。
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace _20200226bianliang}}
}
情況二:變數公升級為「類級變數」
c#在變數之間有乙個基本的區分,類級別宣告的變數看作字段(成員變數),而方法中宣告的變數看作區域性變數。
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace _20200226bianliang
}}
情況三:主函式中引用類級變數
對於情況二,第乙個j通過public定義到main函式之前,「公升級」為類級變數(此時屬於區域性變數),通過下面的這種方法可以實現對類級變數的應用。
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace _20200226bianliang
}}
情況四 :static宣告引入類級變數
如果選擇將字段宣告為 static,這時呼叫時可以直接引入類級變數。
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace _20200226bianliang
}}
c c 全域性變數與區域性變數
在c c 中變數是最基本的成員,也是我們最常用的東西,變數大體上分為全域性變數與區域性變數兩種,全域性變數是在整個程式中都可以使用,而區域性變數只能在最接近定義它的一組大括號內使用,總的來說,在c c 裡面,變數只有定義了並在其生命週期內才能使用。說得有點抽象,給大家看個例子吧。a 全域性變數 in...
Java中的區域性變數和成員變數
類體中的變數分為兩部分。變數定義部分定義的變數為類的成員變數,在方法體中定義的變數和方法中涉及的變數稱為區域性變數。成員變數和區域性變數的區別 成員變數在整個類中有效,區域性變數只在定義它的方法體中有效 成員變數分為 類變數 類成員變數 和 例項變數 例項成員變數 成員變數無需顯示初始化,如果在成員...
區域性變數 全域性變數以及global 宣告
區域性變數 定義在方法內部的變數 全域性變數 在方法外面定義,定義在呼叫之前 全域性變數的定義命名規範 g a 100 global 如果變數是全域性變數,則在方法內部對變數全域性變數修改的化要加關鍵字 wendu 0 defget wendu global wendu 這裡要宣告為全域性變數才能對...