表达式"a"="a"
返回False
。到底是怎么回事?
编辑:抱歉,我在VB.NET工作,而不是C#
更新:当我将表达式复制到Notepad ++时,它会显示"?a"="a"
。它可以与编码有关吗?
答案 0 :(得分:8)
该表达式不合法C#。
您没有收到错误,因为FuncEval(在监视或即时窗口中执行代码的能力)使用了具有各种问题的不同解析器。
最终可以通过将此解析器替换为Roslyn来解决这些问题。
我怀疑FuncEval使用的VB.Net解析器不是实习字符串。
如果在FuncEval之外运行此表达式(例如,LINQPad),则返回true。
第一个字符串中有一个不可打印的字符。
Notepad ++将其显示为?
,因为您的文本文件使用的是不支持该字符的编码。
要了解其实际情况,请将其粘贴到this site。