.NET C#基础教程第2天:使用代码块进行可变范围和逻辑控制

作者:微信公众号:【架构师老卢】
6-9 16:58
31

概述:介绍编程中的代码块对于代码行分组和控制变量可访问性至关重要。变量作用域(用于确定变量的访问位置)受代码块的影响。学习目标:深入了解在代码块内外声明和初始化变量的含义。开发人员的先决条件声明和初始化变量。利用选择语句。if-else使用迭代语句。foreach从 .NET 类库中的类调用方法。开始代码块如何影响变量作用域?代码块在确定变量声明的范围方面起着至关重要的作用。变量范围是指变量在应用程序代码中的可见性。在代码块中声明的变量具有本地作用域,这意味着它只能在该特定块内访问。尝试访问块外部的变量将导致编译器错误。在代码块内声明一个变量首先,在控制台应用程序中创建一个名为“”的静态类文件。将提

介绍

编程中的代码块对于代码行分组和控制变量可访问性至关重要。变量作用域(用于确定变量的访问位置)受代码块的影响。

学习目标:

  • 深入了解在代码块内外声明和初始化变量的含义。

开发人员的先决条件

  • 声明和初始化变量。
  • 利用选择语句。if-else
  • 使用迭代语句。foreach
  • 从 .NET 类库中的类调用方法。

开始

代码块如何影响变量作用域?

代码块在确定变量声明的范围方面起着至关重要的作用。变量范围是指变量在应用程序代码中的可见性。在代码块中声明的变量具有本地作用域,这意味着它只能在该特定块内访问。尝试访问块外部的变量将导致编译器错误。

在代码块内声明一个变量

首先,在控制台应用程序中创建一个名为“”的静态类文件。将提供的代码片段插入到此文件中。CodeBlocksAndScope.cs

/// <summary>
/// Output
/// Inside the code block: 10
/// </summary>
public static void VariableInCodeBlock()
{
    bool flag = true;
    if (flag)
    {
        int value = 10;
        Console.WriteLine($"Inside the code block: {value}");
    }
}

从 main 方法执行代码,如下所示

#region Day 2 - Variable Scope & Logic Control with Code Blocks

CodeBlocksAndScope.VariableInCodeBlock();

#endregion

控制台输出

// Console Output  
Inside the code block: 10

访问代码块外部的变量

将另一个方法添加到同一静态类中,其中代码尝试访问代码块外部的变量

/// <summary>
/// Outputs
/// Program.cs(7,46): error CS0103: The name 'value' does not exist in the current context
/// </summary>
public static void VariableOutCodeBlock()
{
    bool flag = true;
    if (flag)
    {
        int value = 10;
        Console.WriteLine($"Inside the code block: {value}");
    }

    //Uncomment below line to validate
    //Console.WriteLine($"Outside the code block: {value}");
}

从 main 方法执行代码,如下所示

#region Day 2 - Variable Scope & Logic Control with Code Blocks  
  
CodeBlocksAndScope.VariableOutCodeBlock();  
  
#endregion

控制台输出

// Console Output  
Program.cs(7,46): error CS0103: The name 'value' does not exist in the current context

生成此错误的原因是,在代码块中声明的变量只能在该代码块中访问。

在代码块上方声明一个未赋值的变量,并在该块内进行访问

将另一个方法添加到同一个静态类中,其中代码尝试访问变量,即在代码块上方声明的变量,但它未初始化。

/// <summary>
/// Outputs
/// Program.cs(6,49): error CS0165: Use of unassigned local variable 'value'
/// </summary>
public static void VariableAboveCodeBlock()
{
    bool flag = true;
    int value;

    if (flag)
    {
        //Uncomment below line to validate
        //Console.WriteLine($"Inside the code block: {value}");
    }

    value = 10;
    Console.WriteLine($"Outside the code block: {value}");
}

从 main 方法执行代码,如下所示

#region Day 2 - Variable Scope & Logic Control with Code Blocks  
  
CodeBlocksAndScope.VariableAboveCodeBlock();  
  
#endregion

控制台输出

// Console Output  
Program.cs(6,49): error CS0165: Use of unassigned local variable 'value'

声明在代码块上方分配的变量,并在该块内进行访问

将另一个方法添加到同一静态类中,其中代码尝试访问变量,即在代码块上方声明并赋值

/// <summary>
/// Outputs
/// Inside the code block: 0
/// Outside the code block: 10
/// </summary>
/// <returns></returns>
public static void VariableAboveCodeBlockv1()
{
    bool flag = true;
    int value = 0;

    if (flag)
    {
        Console.WriteLine($"Inside the code block: {value}");
    }

    value = 10;
    Console.WriteLine($"Outside the code block: {value}");
}

从 main 方法执行代码,如下所示

#region Day 2 - Variable Scope & Logic Control with Code Blocks  
  
CodeBlocksAndScope.VariableAboveCodeBlockv1();  
  
#endregion

控制台输出

// Console Output  
Inside the code block: 0  
Outside the code block: 10

源代码获取:公众号回复消息【code:30085

相关代码下载地址
重要提示!:取消关注公众号后将无法再启用回复功能,不支持解封!
第一步:微信扫码关键公众号“架构师老卢”
第二步:在公众号聊天框发送code:30085,如:code:30085 获取下载地址
第三步:恭喜你,快去下载你想要的资源吧
阅读排行