C#中的变量作用域

原文地址:http://blog.sina.com.cn/s/blog_67299aec0100rxng.html

一般情况下的变量作用域与C语言中的一样,但是需要注意的是C#中没有全局变量,

    -----一个变量的作用域包含定义它的代码块和直接嵌套在其中的代码块-----
     看下面的例子:


    public static void Main()
    {
      
        for ( int i = 0; i < 10;i++ )
        {
            string text = "Line" + Convert.ToString(i);
            Console.WriteLine(text);
        }
        // Console.WriteLine(text);
        
    }
    这里的i的作用域,仅在于这个for循环,text的作用域仅在于for循环体内,如果改成下面:
 public static void Main()
    {
        string text;
        int i;
      
        for (  i = 0; i < 10;i++ )
        {
           text = "Line" + Convert.ToString(i);
            Console.WriteLine("is{0}",text);
        }
        Console.WriteLine("{0}",text);
       
       
    }
这个时候也会报错,因为string型变量text在在循环体中初始化的,这个值是局部值,所以会报错,所以应该改成下面的:
public static void Main()
    {
        string text=" ";
        int i;
      
        for (  i = 0; i < 10;i++ )
        {
           text = "Line" + Convert.ToString(i);
            Console.WriteLine("is{0}",text);
        }
        Console.WriteLine("{0}",text);
       
       
    }
在使用时候对其初始化,有一个“最佳实践方式”:
一般情况下,最好在声明和初始化所有的变量之后,再在代码中使用它们,不要在循环体内对一个代码中的变量进行初始化
有一个例外是循环变量声明为循环块的一部分,例如:
for ( int i = 0; i < 10;i++ )
        {-------  }
使用i来局部化于循环代码内,因为我们很少在外部的代码中访问这个计数器。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值