读取嵌套大括号作为字符串的一部分

时间:2018-09-19 12:25:35

标签: c# .net string

我有这样的密码SELECT /*+ PARALLEL (CNVSO_TBAP_PRICE_PLAN ,16) FULL(CNVSO_TBAP_PRICE_PLAN) */ AP_ID, MAIN_ITEM_ID, RTRIM (XMLAGG (XMLELEMENT (E, AP_VERSION_ID || '_' || PARTITION_KEY || '_' || TO_CHAR (PARTITION_DATE, 'dd/mm/yyyy')).EXTRACT ('//text()'), ',')) AS LIST, MAX (TO_NUMBER (AP_VERSION_ID)) MAX_AP_VERSION_ID FROM CNVSO_TBAP_PRICE_PLAN GROUP BY AP_ID, MAIN_ITEM_ID;

当我尝试将其存储在这样的字符串变量中

iD&NAAY#{.x}NqpzK|%

这部分string password = $"\"iD&NAAY#{.x}NqpzK|%\""出现编译时错误(无效的表达式术语)

如何避免这种情况并以完整的字符串类型读取此密码?

1 个答案:

答案 0 :(得分:5)

根本不使用interpolated string,这意味着定义不带$符号前缀的字符串。

当您使用$符号前缀时,C#会解析您的字符串,尝试在其中查找变量引用并将其替换为变量值。字符串中变量引用的格式为{variable_name}

示例

var test = "abcd";
var interpolated_string = $"Test: {test}";

变量interpolated_string将包含字符串Test: abcd

如果删除$符号前缀,则将不处理该字符串,并将其作为文字:

var test = "abcd";
var interpolated_string = "Test: {test}";

变量interpolated_string现在将包含字符串Test: {test}

相关问题