c# - 如何评估三元字符串表达式并识别值
问题描述
值 = 14000;
三元字符串表达式为“ value > 20000 ? 200 : value > 15000 && value < 19999 ? 150 : 100 ”
答案应该是 100
有什么方法可以评估表达式吗?
解决方案
您可以使用脚本 API来评估表达式。
脚本 API 使 .NET 应用程序能够启动 C# 引擎并针对主机提供的对象执行代码片段,并且需要Microsoft.CodeAnalysis.CSharp.Scripting
包。
例如,
var globals = new Global();
var str = "value > 20000 ? 200 : value > 15000 && value < 19999 ? 150 : 100 ";
var result = await CSharpScript.EvaluateAsync(str,globals:globals);
Console.WriteLine(result);
其中 Global 定义为
public class Global
{
public int @value = 14000;
}
推荐阅读
- apache-spark - 在 Spark 中读取不同的 csv 文件
- api - Github API 速率限制细节
- node.js - node js SQL插入查询,构造函数/ JSON文本作为值参数
- python - 如何使我的拉普拉斯滤波器更有效?
- python - 索引数组维度作为该维度的分数
- reactjs - 如何在每次构建 heroku 之前设置环境变量?
- python - 在 Python 中从非结构化字符串中提取数据
- python - 查找两个数据帧之间的相关性
- javascript - 正则表达式除 4 位数字以外的所有内容
- powershell - Get-WinEvent - 仅限交互式登录和注销事件 ID 消息