我有这样的密码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|%\""
出现编译时错误(无效的表达式术语)
如何避免这种情况并以完整的字符串类型读取此密码?
答案 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}
。