string.Format 异常 输入字符串的格式不正确_zhl71199713的专栏-CSDN博客_输入字符串的格式不正确怎么解决

来源: string.Format 异常 输入字符串的格式不正确_zhl71199713的专栏-CSDN博客_输入字符串的格式不正确怎么解决

最近做一个项目,在使用string.Format对数据进行整理的时候,一直报错:输入字符串的格式不正确。

纠结了很久。最后终于查了下资料终于知道了问题所在。现在将这个问题记录一下:

 

在代码中,需要将结果以Json格式,输出。最开始报错,写的代码如下:

public void TEST()
{
try
{
string t = “Jim”;
string sresult = string.Format(“{name:\”{0}\”}”, t);//这里报错
Console.Write(sresult);
}
catch (Exception ex)
{
}
}

后来查找了一些资料之后,才知道问题所在。
C# 中使用类似 {0}, {1:yyyy-MM-dd} 这样的格式占位符,如果被格式化字符串本身包含 { 或者 } 怎么办呢?答案是:用两个 { 或者 }连写表示单个。

我的代码问题就出在这个地方。修改之后,就好了,修改后的代码如下:

public void TEST()
{
try
{
string t = “Jim”;
string sresult = string.Format(“{{name:\”{0}\”}}”, t);
Console.Write(sresult);
}
catch (Exception ex)
{
}
}
事实上,很多情况下带特殊含义的字符都是这样转义的:如,

C# 中,当字符串常量带 @ 前导的时候,用两个 ” 连写表示一个 ” (半角双引号)

public void TEST()
{
try
{
string sresult = @”this is “”Jim”””;
string tresult=@”this is ‘Jim'”;
string tresult = @”this is “Jim””;//错误
Console.Write(sresult);
}
catch (Exception ex)
{
}
}
SQL 字符串常量,用两个 ‘ 连写表示一个 ‘ (半角单引号)
DECLARE @str6 varchar(100)
SET @str6 = ‘My UserName is ”Jinglecat”.’
PRINT @str6 — My UserName is ‘Jinglecat’.
正则表达式中用,两个 $ 连写表示一个 $ (dollar)
————————————————
版权声明:本文为CSDN博主「zhl71199713」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhl71199713/article/details/19846571

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏