我知道下面的内容在C#的相同代码块中是非法的,但除了明显的(以不同的方式命名)之外,是否有任何可能的方法呢?
string test;
int test;
Run Code Online (Sandbox Code Playgroud)
好的,我们假设这是有效的,你可以这样做
string test = "Hallo";
int test = 1;
Run Code Online (Sandbox Code Playgroud)
应该
test.ToString();
Run Code Online (Sandbox Code Playgroud)
导致"Hallo
"或在"1"
?
如您所见,编译器在某些情况下无法知道您正在引用的对象.我希望这回答了你的问题.