相当于System.Web.UI.WebControl.Unit的字节的c#本机类型
是否有与单位的相当于System.Web.UI.WebControl.Unit的字节的c#本机类型,c#,C#,是否有与单位的System.Web.UI.WebControls.Unit相同的字节类型 我设想一个结构,它将字节计数设为长度,并计算两个属性: 最大倍数>=1(B、KB、MB等)的枚举类型 小数,其值在上述倍数中 实现这样的结构并不困难,但我更愿意使用框架中的一些东西 下面我粘贴了一个示例,以更好地解释我的意图 我的提案草案 这样的东西有框架类型吗 或者说它没有任何意义,我错过了大局?不,在.Net框架中没有这样的类型,也不太可能有这样的类型(部分原因是M/K乘数的争议性——它至少有3种含
System.Web.UI.WebControls.Unit
相同的字节类型
我设想一个结构,它将字节计数设为长度,并计算两个属性:
- 最大倍数>=1(B、KB、MB等)的枚举类型
- 小数,其值在上述倍数中
或者说它没有任何意义,我错过了大局?不,在.Net框架中没有这样的类型,也不太可能有这样的类型(部分原因是M/K乘数的争议性——它至少有3种含义:程序员、SI和营销) 您可以研究其他两种方法:
- 单独列报数据。也就是说,您可以为您的类型(类型只包含像
12333字节这样的数据)和格式
String.format(“M作为自定义格式-{0:M}”,valueOfMyType)
- 查看有关“度量单位”主题的其他问题(参见此处的搜索结果)。也可以看看F#是如何实现的,以获得更多灵感。如果您有许多类似的“测量单位”值,如质量、速度、体积、温度,则此方法可能很有用
Unit
的情况,在这种情况下,“百分比”和“像素”在数据级别上的含义会非常不同。
public struct ByteUnit
{
public long ByteCount {get; set; }
public ByteMultiple Multiple {get; }
public decimal ByteCountInMultiple {get; }
}