C#中的局部变量冲突问题
2019-12-20 07:12
1131 查看
一个变量在同一个作用域中不能够声明两次,如下代码错误。
using System; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; namespaceConsoleApplication1 { class Program { static void Main(string[] args) { int a =123; int a =456; } } }
编译错误如下:
[p]严重性 | 代码[/p] |
说明 |
项目 |
文件 |
行 |
禁止显示状态 |
错误 |
CS0128 |
已在此范围定义了名为“a”的局部变量。 |
ConsoleApplication1 |
E:\01_workspace\02_programme_language\06_c#\2017\09\varConflict\ConsoleApplication1\ConsoleApplication1\Program.cs |
14 |
活动 |
警告 |
CS0219 |
变量“a”已被赋值,但从未使用过它的值 |
ConsoleApplication1 |
E:\01_workspace\02_programme_language\06_c#\2017\09\varConflict\ConsoleApplication1\ConsoleApplication1\Program.cs |
13 |
活动 |
警告 |
CS0219 |
变量“a”已被赋值,但从未使用过它的值 |
ConsoleApplication1 |
E:\01_workspace\02_programme_language\06_c#\2017\09\varConflict\ConsoleApplication1\ConsoleApplication1\Program.cs |
14 |
活动 |
但是,如下代码正常:
using System; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; namespaceConsoleApplication1 { class Program { static void Main(string[] args) { for (int a = 0;a < 10; a++) { Console.WriteLine(a); } for (int a = 0;a < 10; a++) { Console.WriteLine(a* 2); } } } }
编译后执行结果:
原因:在第一个循环结束后,a的作用域已经跳出。
以上这篇C#中的局部变量冲突问题就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- 返回局部变量的问题
- 解决ambiguous symbol命名空间中类名、变量名冲突的问题
- 关于VS2008 中添加成员变量提示 此网站的某个加载项运行失败 请检查“Internet选项”中的安全设置是否存在潜在冲突 问题解决办法
- C# 3.0 新特性之隐含类型局部变量
- Drools规则加载变量冲突问题分析
- js避免变量冲突问题,使用命名空间
- 函数返回局部变量的问题
- hp机器的PLATFORM环境变量对RAD XE的编译、DevExpress Vcl安装的冲突问题解决
- (4) Debug JDK source 无法查看局部变量的问题解决方案
- 局部变量与成员变量的同名问题&显示初始化
- 全局变量,静态局部变量,局部变量空间的堆分配和栈分配问题
- Ajax一个变量冲突的问题
- 关于C#代码的局部变量命名
- [C#] .NET Core项目修改project.json来引用其他目录下的源码等文件的办法 & 解决多框架时 project.json 与 app.config冲突的问题
- Keil调试局部变量显示"not in scope"的问题解决
- 返回指向局部变量的指针或引用的问题
- 局部内部类 引用final变量的问题
- 主函数中的局部变量定义时容易出现的问题
- if没有块级作用域。导致变量冲突,造成的一些的问题。
- 局部内部类引用方法变量时的问题