zoukankan      html  css  js  c++  java
  • C#语言学习:变量的声明与初始化的范围(对比C++)

    C# 中如何代码段有错误:

    1 int i = 0;  
    2 string text;  
    3   
    4 for(i = 0;i < 10;i++)  
    5 {  
    6      text = "Line " + Convert.ToString(i);  
    7      Console.WriteLine("{0}", text);  
    8 }  
    9 Console.WriteLine("First Console App: {0}",text);   // 错误   CS0165  使用了未赋值的局部变量“text”  

    书上的解释如下:
    必须在使用变量前对其进行声明和初始化,而 text 是在 for 循环中初始化的。赋给 text 的值在循环块退出时就丢失了。

    这与 C++ 语言的差别是明显的。如下代码,定义一个 class 后,先是声明这个类的一个变量;然后在一个代码块中初始化这个变量。在退出这个代码块后,此变量的内容还是存在的,因为没有超过此变量的定义范围。除非,在代码块中调用 delete 来释放此变量。

     1 class testVarInit  
     2 {  
     3 public:  
     4     testVarInit()  
     5     {  
     6         printf("init
    ");  
     7     }  
     8     ~testVarInit()  
     9     {  
    10         printf("deinit
    ");  
    11     }  
    12 };  
    13   
    14   
    15 int _tmain(int argc, _TCHAR* argv[])  
    16 {  
    17     testVarInit *test;  
    18     {  
    19         test = new testVarInit();  
    20         // delete test;  
    21     }  
    22     getchar();  
    23     return 0;  
    24 }  
  • 相关阅读:
    MBProgressHUD上传照片进度提示
    -oN ,-oX,-oG
    nmap -sN -p 22,80 www.baidu.com
    22/tcp open|filtered ssh 80/tcp open|filtered http
    nmap -sS
    nmap -sT
    tcpdump --nnx tcp and host 192.168.10.9
    awk对列求和
    genlist -s 192.168.1.*
    /usr/local/sbin/fping -s www.baidu.com www.google.com
  • 原文地址:https://www.cnblogs.com/91program/p/5200556.html
Copyright © 2011-2022 走看看