c# - 使用flee使用字符串文字比较
问题描述
我正在尝试使用 Flee 进行字符串文字检查,但是当我指定尝试检查的字符串值时,我无法让它工作,而是尝试使用变量。这是纽约的代码:
var context = new ExpressionContext();
context.Variables.DefineVariable("User", typeof(User));
const string exp = @"(User.UserName = JWilly)";
var expression = context.CompileDynamic(exp);
var user = new User
{
Id = 1,
UserName = "JWilly",
Active = false,
};
context.Variables["User"] = user;
var result = expression.Evaluate();
解决方案
即使嵌入到另一个字符串文字中,字符串文字也是字符串文字。因此:
const string exp = @"(User.UserName = ""JWilly"")";
将工作。(请注意与 . 一起使用的双引号@
。)
推荐阅读
- python - ModuleNotFoundError:anaconda spyder 中没有名为“pyLDAvis”的模块
- haskell - 如何为 Mu 递归类型编写 Show 实例
- android - 如何修复多对话框android studio
- javascript - 最小化 onDrop、onDragover、Draggable 和 onDragStart
- java - Java String 类 replaceAll 方法丢失
- sql - 正则表达式:仅选择表达式的一部分
- java - 为什么我在解析 JSON 时得到 NULL 值
- python - Python pandas:将字符串拆分为多列并从拆分参数中提取列的数据
- traefik - TraefiK:客户标头名称大小写已使用 Pascal Casing 更改
- powershell - 如何在 PowerShell 中合并两个 PoshWSUS 对象