如何解决格式化字符串-输入的字符串格式不正确
我想要一个函数来接收一个字符串并将其格式化为C#中以下格式的另一个字符串:(测试是一个输入变量)
output:
@"{MyKey=testing}"
我的简单程序如下:
class Program
{
static void Main(string[] args)
{
string s = test("testing");
}
private static string test(string myKey)
{
string s = string.Format("@{\"MyKey={0}\"}",myKey);
return s;
}
}
没有语法错误,但出现此运行时错误:
我知道字符串包含特殊字符,但是我想知道是否可以使用string.Format创建我想要的输出?我应该如何正确格式化字符串?
解决方法
您需要使用双花括号来转义那些应该属于字符串的花括号。查看更多here。
class Program
{
static void Main(string[] args)
{
string s = test("testing");
s.Dump();
}
private static string test(string myKey)
{
string s = string.Format("@{{\"MyKey={0}\"}}",myKey);
return s;
}
}
您还可以像这样使用字符串插值:
string s = $"@{{\"MyKey={myKey}\"}}";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。