给定以下代码:
string a = "example";
string b = "blah {0}", a;
我被引导相信使用 {0}
或 {1}
,它将把任何内容放在逗号之后,在本例中是字符串 a
,所以 “示例”
。字符串 b
应该是 "blah example"
。当我这样做时,出现错误“字符串 a 已声明”。
为什么它认为我在这个上下文中声明了一个字符串?
最佳答案
我相信您打算使用 string.Format .这不是暗示(但它会很好)。
string b = string.Format("blah {0}", a);
您的代码将像下面这样翻译。当您将其完全展开时,编译器错误很明显。
// Given
string a = "example";
string b = "blah {0}", a;
// corresponds to ...
string a; a = "example";
string b; b = "blah {0}";
string a;
关于C# 说我在不打算声明变量的时候声明了变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15531474/