我正在执行一些测试,并且我有一个包含表单错误的值列表:
12.7 ± 0.3
14.2 ± 0.1
70.8 ± 0.5
Run Code Online (Sandbox Code Playgroud)
我需要将标准偏差与值保持一致,因为我稍后需要将其用于各种计算.
目前我正在使用
List<KeyValuePair<double, double>>
Run Code Online (Sandbox Code Playgroud)
但有更好的解决方案吗?
如果值不会改变,我会选择struct.您可以添加逻辑(但您也可以使用类来完成).除非你特别需要加倍,否则去小数.
public struct StdDev
{
public decimal Val { get; }
public decimal Dev { get; }
public decimal Max { get { return Val + Dev; } }
public decimal Min { get { return Val - Dev; } }
public bool IsInDev (decimal val)
{
return val >= Min && val <= Max;
}
public override string ToString()
{
return $"{Val} +- {Dev}";
}
public StdDev (decimal val, decimal dev)
{
Val = val;
Dev = dev;
}
}
Run Code Online (Sandbox Code Playgroud)
您可以覆盖Equals和GetHashCode.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |