C# 说我在不打算声明变量的时候声明了变量

标签 c# string variables

给定以下代码:

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;

MSDN Local variable declaration

关于C# 说我在不打算声明变量的时候声明了变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15531474/

相关文章:

c# - MVC3 将错误中的字段名称添加到验证摘要

c# - 地址之间的距离

c - C 中从 int 到 char 的类型转换

Perl:将新值重新分配给标量会覆盖其在 RAM 中的当前内容吗?

Javascript随机生成变量名

php - 需要远程文件上传帮助

c# - Razor 安全导航运算符(operator)?

c# - 如何将任何应用程序的选定文本放入 Windows 窗体应用程序

java - 将字符串评估为条件 Java

java字符串池入口和堆入口机制