是否有一种方法可以忽略转义字符,但仍然使用字符串插值?c#



所以,我需要实现的字符串是这样的,我在visual studio 2019中使用。net 4.5.2中的c#,我希望预期的输出完全如下,尽管FIRSTNAME被变量取代。

beneficiaryFirstName: \"FIRSTNAME\"

这与许多类似结构的字符串一起使用,将它们连接在一起形成一个大型的graphQL查询。我的问题是VStudio不断抛出错误。

编辑:我想说清楚,我需要's在字符串结果,我需要FIRSTNAME被视为一个变量。

我已经尝试使用这个。

$@"beneficiaryFirstName: \"{{FIRSTNAME}}\""

但是被告知如果有意外字符"one_answers";"。

解决这个问题的最好方法是什么?

你只需要正确的转义

var FIRSTNAME = "Bob";
var pad = @"\";
var test1 = $"beneficiaryFirstName: \\\"{FIRSTNAME}\\\"";
var test2 = @$"beneficiaryFirstName: \""{FIRSTNAME}\""";
var test3 = $"beneficiaryFirstName: {pad}"{FIRSTNAME}{pad}"";
Console.WriteLine(test1);
Console.WriteLine(test2);
Console.WriteLine(test3);

beneficiaryFirstName: \"Bob\"
beneficiaryFirstName: \"Bob\"
beneficiaryFirstName: \"Bob\"

<子>免责声明我不确定你的例子中的引号是否正确,它们看起来像是在奇怪的地方,尽管这可能就是

你可以这样做。

string FIRSTNAME = "YourName";
string temp = $"beneficiaryFirstName: {FIRSTNAME}";
Console.WriteLine(temp);

输出

beneficiaryFirstName: YourName

你可以试试这个string temp = $"beneficiaryFirstName: \\{FIRSTNAME}\\";如果你想out

beneficiaryFirstName: YourName

如OP所述,您可以使用它来获得所需的输出。

string temp = @$"beneficiaryFirstName: \{FIRSTNAME}\";

相关内容

  • 没有找到相关文章

最新更新