最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# 變量作用域的實現(xiàn)示例

 更新時間:2026年06月26日 08:20:07   作者:逝水無殤  
本文介紹了C#中的變量作用域規(guī)則,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在 C# 中,變量作用域(Scope) 是指變量在程序中可被訪問的范圍。變量只能在其定義的作用域內(nèi)使用,超出作用域后將無法訪問。

1. 局部變量作用域

局部變量聲明在方法、代碼塊、循環(huán)或條件語句中,只能在當前代碼塊內(nèi)訪問。

class Program
{
    static void Main()
    {
        int a = 10;

        if (a > 5)
        {
            int b = 20;
            Console.WriteLine(b); // 正確
        }

        // Console.WriteLine(b); // 編譯錯誤
    }
}

2. 方法參數(shù)作用域

方法參數(shù)屬于方法內(nèi)部的局部變量,只能在當前方法內(nèi)使用。

static void Print(int num)
{
    Console.WriteLine(num);
}

static void Main()
{
    Print(100);

    // Console.WriteLine(num); // 編譯錯誤
}

3. 代碼塊作用域

{} 包圍的區(qū)域形成獨立作用域。

{
    int x = 100;
    Console.WriteLine(x);
}

// Console.WriteLine(x); // 編譯錯誤

4. for 循環(huán)變量作用域

循環(huán)變量僅在循環(huán)體內(nèi)有效。

for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

// Console.WriteLine(i); // 編譯錯誤

5. 類成員變量作用域(字段)

字段屬于類,可以被類中的所有方法訪問。

class Student
{
    private string name = "Tom";

    public void Show()
    {
        Console.WriteLine(name);
    }
}

訪問修飾符影響范圍

修飾符作用域
private當前類
protected當前類及子類
internal當前程序集
public所有地方
public class User
{
    private int age;
    protected string name;
    internal string address;
    public string phone;
}

6. 靜態(tài)變量作用域

靜態(tài)變量屬于類本身,而不是對象實例。

class Counter
{
    public static int Count = 0;
}

Counter.Count++;
Console.WriteLine(Counter.Count);

7. Lambda 表達式閉包作用域

Lambda 可以訪問外部變量。

int num = 10;

Action action = () =>
{
    Console.WriteLine(num);
};

action();

修改外部變量

int count = 0;

Action add = () =>
{
    count++;
};

add();
Console.WriteLine(count); // 1

8. switch 作用域

不同 case 共用同一個作用域。

? 錯誤示例:

switch (value)
{
    case 1:
        int num = 10;
        break;

    case 2:
        int num = 20; // 編譯錯誤
        break;
}

? 正確寫法:

switch (value)
{
    case 1:
    {
        int num = 10;
        break;
    }

    case 2:
    {
        int num = 20;
        break;
    }
}

9. 變量隱藏(Shadowing)

內(nèi)部作用域變量不能與外部同名。

int age = 20;

{
    // int age = 30; // 編譯錯誤
}

類字段可被局部變量隱藏:

class User
{
    private string name = "Tom";

    public void Show()
    {
        string name = "Jack";

        Console.WriteLine(name);      // Jack
        Console.WriteLine(this.name); // Tom
    }
}

10. 生命周期與作用域區(qū)別

作用域(Scope)

決定變量在哪里可以訪問。

生命周期(Lifetime)

決定變量在內(nèi)存中存在多久。

void Test()
{
    int x = 10;
}
  • 作用域:Test() 方法內(nèi)部
  • 生命周期:方法執(zhí)行期間

靜態(tài)變量:

class Test
{
    public static int Count = 0;
}
  • 作用域:類可訪問范圍
  • 生命周期:程序啟動到結束

示例總結

class Program
{
    static int globalVar = 100; // 類字段

    static void Main()
    {
        int localVar = 10; // 局部變量

        for (int i = 0; i < 3; i++)
        {
            int loopVar = i;

            Console.WriteLine(
                $"global={globalVar}, local={localVar}, loop={loopVar}");
        }

        // Console.WriteLine(loopVar); // 錯誤
    }
}

作用域?qū)蛹夑P系:

類作用域
└── 方法作用域
    └── if作用域
        └── for作用域
            └── Lambda作用域

遵循原則:內(nèi)層作用域可以訪問外層變量,外層作用域不能訪問內(nèi)層變量。

到此這篇關于C# 變量作用域的實現(xiàn)示例的文章就介紹到這了,更多相關C# 變量作用域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

  • .Net Winform開發(fā)筆記(四)透過現(xiàn)象看本質(zhì)

    .Net Winform開發(fā)筆記(四)透過現(xiàn)象看本質(zhì)

    本文將從Winform應用程序中的Program.cs文件的第一行代碼開始逐步分析一個Winform應用程序到底是怎樣從出生走向死亡
    2013-01-01
  • C#使用HttpHelper框架重啟路由器

    C#使用HttpHelper框架重啟路由器

    這篇文章介紹了C#使用HttpHelper框架重啟路由器的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 解析錯誤富文本json字符串(帶雙引號)的快速解決方法

    解析錯誤富文本json字符串(帶雙引號)的快速解決方法

    下面小編就為大家?guī)硪黄馕鲥e誤富文本json字符串(帶雙引號)的快速解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • c# JSON返回格式的WEB SERVICE

    c# JSON返回格式的WEB SERVICE

    首先用c#創(chuàng)建一個web service,主要是利用其WSDL的功能,當然也可以利用php創(chuàng)建一個,道理都是一樣的
    2008-12-12
  • C#使用Thrift作為RPC框架入門詳細教程

    C#使用Thrift作為RPC框架入門詳細教程

    這篇文件我們講了從0到1使用thrift框架的方法,也講了一些該框架的基本知識,本文將詳細介紹 Thrift 在C#語言下的使用方式,并且提供豐富的實例代碼加以解釋說明,幫助使用者快速構建服務,感興趣的朋友一起看看吧
    2021-11-11
  • Unity制作自定義字體的兩種方法

    Unity制作自定義字體的兩種方法

    這篇文章主要為大家詳細介紹了Unity制作自定義字體的兩種方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C# 通過 oledb 操作Excel實例代碼

    C# 通過 oledb 操作Excel實例代碼

    本篇文章主要介紹了C# 通過 oledb 操作Excel實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • C#簡單的特殊輸出實例

    C#簡單的特殊輸出實例

    這篇文章主要介紹了C#簡單的特殊輸出,以實例實現(xiàn)了針對一些特殊字符與位置的輸出控制,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • c#基礎系列之System.String的深入理解

    c#基礎系列之System.String的深入理解

    這篇文章主要給大家介紹了關于c#基礎系列之System.String的深入理解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • C#實現(xiàn)雙端隊列的示例代碼

    C#實現(xiàn)雙端隊列的示例代碼

    雙端隊列是一種可以在兩端擴展或收縮的序列化容器,本文主要介紹了C#實現(xiàn)雙端隊列的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11

最新評論

涡阳县| 航空| 登封市| 齐齐哈尔市| 延长县| 陕西省| 浑源县| 新化县| 桐庐县| 永昌县| 明溪县| 呈贡县| 江都市| 清河县| 任丘市| 乾安县| 宿松县| 洞头县| 罗山县| 开平市| 平江县| 怀宁县| 九江县| 邵阳市| 鹤岗市| 黎城县| 定州市| 洛隆县| 彭山县| 仙游县| 阿城市| 祁东县| 西丰县| 林周县| 嘉祥县| 西青区| 合肥市| 田阳县| 涿州市| 安义县| 邵阳市|