表达式"a"="a"
返回False
。到底他妈发生了什么?
编辑:对不起,我在 VB.NET 中工作,而不是 C#
更新:当我将表达式复制到 Notepad++ 中时,它显示"?a"="a"
. 它与编码有关吗?
该表达式不是合法的 C#。
您没有收到错误,因为 FuncEval(在手表或即时窗口中执行代码的能力)使用了不同的解析器,存在各种问题。
这些问题最终可能会通过用 Roslyn 替换这个解析器来解决。
我怀疑 FuncEval 使用的 VB.Net 解析器不实习字符串。
如果您在 FuncEval(例如 LINQPad)之外运行此表达式,它将返回 true。
第一个字符串中有一个不可打印的字符。
Notepad++ 将其显示为 a 是?
因为您的文本文件使用的编码不支持该字符。
要找出它实际上是什么,请将其粘贴到此站点。