一個變量在同一個作用域中不能夠聲明兩次,如下代碼錯誤。
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; } }}編譯錯誤如下:
| 嚴重性 | 代碼 | 說明 | 項目 | 文件 | 行 | 禁止顯示狀態 |
| 錯誤 | 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#中的局部變量沖突問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答