c#单位转换库的食物量

n4r*_*zul 6 c# implementation units-of-measurement

我想实现一个简单的单位转换库用于食物测量,即杯子茶匙.捏,毫升,盎司,升,克,磅等等.有没有我可以使用的库,如果不是我想以下面的伪方式自己滚动:

enum Unit
{
    Centimeters = 0,
    Meter = 1,
    Kilometer = 2           
}


//| |           |   0       |  1    |   2       |
//----------------------------------------------
//| |           |Centimeters| Meters| Kilometers|
//----------------------------------------------
//|0|Centimeters|1        | 0.01  | 0.000001  |
//----------------------------------------------
//|1|Meters  |100        | 1      | 1000     |
//----------------------------------------------
//|2|Kilometers |100000     | 1000  | 1         |
//----------------------------------------------


public float Convert(Unit UnitFrom, Unit UnitTo, UnitValue)
{
   float factor = UnitMatrix[UnitFrom][Unit UnitTo];
   return UnitValue * factor;
}

//Usage
Convert(Unit.Kilometers, Unit.Meters, 5)
// Lookup factor in this case would be the one at [2, 1] i.e. 1000 so output is 5000
Run Code Online (Sandbox Code Playgroud)

指针,陷阱,太天真了?任何帮助都会有用.我可以研究的当前开源实现也很棒.TIA

And*_*son 3

@n4rzul,我已经开始用 C# 开发一个开源测量单位库,可以轻松地根据您请求的任何单位进行扩展。请查看 Github 上的项目网站https://github.com/cureos/csunits,看看这个库是否满足您的需求。