Category Archives: 作品

Intro: Heroius.Files

under editing

简介

Heroius.Files 是 Heroius Packs 基础工具包中的一员,面向Windows桌面系统提供文件格式及IO支持,包括对System.IO类型拓展、文件格式定义等。可以通过 nuget.org 获取其最新的发布版本,该库包含对底层 Heroius Packs 库的引用,因此可以同时获得相应的功能接口。此文按照相对独立的功能介绍库的内容,在每节内容的开始都会标明支持的版本号。
当前内容基于版本:1.1.10.2
Continue reading

Intro: Heroius.Extension.WPF

under editing

简介

Heroius.Extension.WPF 是 Heroius Packs 基础工具包中的一员,面向 WPF 平台提供附加支持,包括多种复杂转换器、枚举和颜色拓展、绑定工具等。可以通过 nuget.org 获取其最新的发布版本,该库包含对底层 Heroius Packs 库的引用,因此可以同时获得相应的功能接口。此文按照相对独立的功能介绍库的内容,在每节内容的开始都会标明支持的版本号。
当前内容基于版本:1.1.8.2
Continue reading

Update: EnvSafe.Expression 4.1.8

For .NET 4.0 , available on Nuget.

EnvSafe.Expression 是一款字符串表达式解析计算库,可以在正确配置后按括号优先级进行顺序执行。例如给定字符串 1+x*3-(9-4),并且为符号(Symbol)+、-、*做出合适的算符(Operator)关联,则解析该表达式会得到一个执行序列(Procedure),包含4个计算步(Steps):

  1.   9 – 4 => a
  2.  x * 3 => b
  3.  1 + b => c
  4.  c – a => d

其中 x 是变量,可以在每次调用执行序列计算前指定。

在循环中使用执行序列时,要比单次解析计算速度快,其本质是委托调用。

本次更新为执行序列增加了一个预简化方法(Presimplify),该方法迭代遍历计算步,预先计算不含变量的步骤,并将结果赋值到其它计算步的变量表中。这样,对于不含变量的计算步较多时,循环计算会有很大的性能提升。

对于上例,简化过程计算出9-4=5,简化后的计算步如下:

  1.  x * 3 => a
  2.  1 + a => b
  3.  b – 5 => c