.NET 表達式計算:Expression Evaluator
Expression Evaluator 是一個輕量級的可以在運行時解析C#表達式的開源免費組件。表達式求值應該在很多地方使用,例如一些工資或者成本核算系統,就需要在后臺動態配置計算表達式,從而進行計算求值。相比 NCal,還是這個 Expression Evaluator 比較強大,雖然部分功能有重疊。也都能計算常規的數學表達式。
Expression Evaluator 支持的特性有:
-
支持算術運算符,支持關系運算符,以及邏輯運算符
-
支持表達式分組和括號,以及遞增遞減運算符
-
支持表達式屬性訪問以及動態類型,支持字符串的+運算
-
支持數值類型的后綴d/f/m/l/u/ul、
-
支持隱式表達式,以及成員訪問操作符(.)
-
支持一些默認的類型,如double, float, char, string, DateTime, Convert, Math
-
支持foreach循環
-
。。。等等,更多功能還期待你的使用和發現
簡單的數值表達式就不演示了,看一個比較有新意的代碼:
class MyClass { public string[] myExternalString; public int x; } var v = new MyClass(); v.myExternalString = new string[] { "Hello", "there", "World!" }; v.x = 2; //關鍵點,注冊符號v registry.RegisterSymbol("v", v); //動態計算屬性 //返回結果是"there",因為v.x=2,2/2=1,所以返回索引1的值 "v.myExternalString[v.x/2]"
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!