格式化字符串 - 输入字符串的格式不正确
Formatting string - input string was not in correct format
我想要一个函数来接收一个字符串并将其格式化为另一个在 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}\"}}";
我想要一个函数来接收一个字符串并将其格式化为另一个在 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}\"}}";