共用方式為


編譯器錯誤 CS0136

無法在此範圍宣告名為 'var' 的區域變數,因為其可能賦予 'var' 不同的意義,而該意義已經於 'parent or current/child' 範圍中用來代表不同的意義

變數宣告會隱藏其他可能在範圍內的宣告。 重新命名在產生 CS0136 的行上宣告的變數。

範例

下列範例會產生 CS0136:

// CS0136.cs  
namespace MyNamespace  
{  
   public class MyClass  
   {  
      public static void Main()  
      {  
         int i = 0;  
         {  
            char i = 'a';   // CS0136, hides int i  
         }  
         i++;  
      }  
   }  
}  

擷取自 C# 語言規格

區域變數宣告空間和巢狀區域變數宣告空間包含相同名稱的元素,此為錯誤。 因此,在巢狀宣告空間內無法在封入宣告空間中,宣告名稱與區域變數或常數相同的區域變數或常數。 只要兩個宣告空間都不包含另一個宣告空間,即可以包含具有相同名稱的元素。