c#native类型,相当于System.Web.UI.WebControls.Unit的字节

时间:2014-01-20 01:31:59

标签: c#

是否有字节的等效类型,就像单位的System.Web.UI.WebControls.Unit一样?

我想象一个结构,它将字节数作为长和两个计算的属性:

  • 具有最高倍数> = 1(B,KB,MB等等)的枚举类型
  • 带上述多个
  • 中的值的小数

实现这样的结构远非困难,但我宁愿使用框架中的东西

下面我粘贴一个样本以更好地解释我的意图

我的提案草案

public struct ByteUnit
{
   public long ByteCount {get; set; }
   public ByteMultiple Multiple {get; }
   public decimal ByteCountInMultiple {get; }
}

这种东西有框架类型吗?

或者它甚至没有任何意义,我错过了大局?

1 个答案:

答案 0 :(得分:2)

不,.Net Framework中没有这种类型,也不太可能有这种类型(部分是由于M / K乘数的争议性质 - 至少有3个含义:程序员,SI和营销)。

您可以查看其他两种方法:

  • 单独呈现数据。即您可以为自己键入自定义格式选项(类型仅包含12333 bytes等数据),而不是格式String.Format("M as custom format - {0:M}", valueOfMyType)
  • 查看有关“计量单位”主题的其他问题(请参阅此处的C# unit measurment搜索结果,如Units of measure in C# - almost)。另外,请了解如何在F#中完成更多灵感。如果您有许多类似于“质量,速度,体积,温度等测量单位”的值,则此方法可能很有用。