.NET是否有用于括号或表达式缩减和优化的库? 需要表达的东西,如(A&(((B)|(C))| D)))并返回
A& (B | C | D)
但也要(A& A)并返回A
答案 0 :(得分:2)
这更像是独立解析器/词法分析器的领域。但 ANTLR 有一个相当不错的C#绑定,如果这符合您的目的。
为这种字符串编写一个简单的解析器并自行完成这项工作可能不是很多工作。
答案 1 :(得分:0)
我不是LINQ专家,但是如果你想亲自动手,那么这个任务的数据结构已经存在于.Net Expression Trees中:
http://msdn.microsoft.com/en-us/library/bb397951.aspx
您仍然需要解析字符串以创建树。