博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#语言学习:变量的声明与初始化的范围(对比C++)
阅读量:5159 次
发布时间:2019-06-13

本文共 919 字,大约阅读时间需要 3 分钟。

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\r\n");   7     }   8     ~testVarInit()   9     {  10         printf("deinit\r\n");  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 }

 

转载于:https://www.cnblogs.com/91program/p/5200556.html

你可能感兴趣的文章
AsyncTask
查看>>
Django框架(十九)—— drf:序列化组件(serializer)
查看>>
JS一些概念知识及参考链接
查看>>
关于JS中&&和||用法技巧
查看>>
TCP/IP协议原理与应用笔记24:网际协议(IP)之 IP协议的简介
查看>>
SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发
查看>>
内部元素一一相应的集合的算法优化,从list到hashmap
查看>>
游戏中的心理学(一):认知失调有前提条件
查看>>
SpringMVC-处理AJAX
查看>>
WHAT I READ FOR DEEP-LEARNING
查看>>
【Ruby】Ruby在Windows上的安装
查看>>
Objective C 总结(十一):KVC
查看>>
BZOJ 3747 洛谷 3582 [POI2015]Kinoman
查看>>
vue实战(7):完整开发登录页面(一)
查看>>
[转载]mysql的left,right,substr,instr截取字符串,截取
查看>>
Visual Studio自定义模板(二)
查看>>
【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴
查看>>
摘抄详细的VUE生命周期
查看>>
javascript高级程序设计---js事件思维导图
查看>>
sprint计划会议
查看>>