我正在尝试存储一个可变长度的数字,该数字可以有前导零作为该数字的一部分。
.NET 框架中是否有一个类能够存储这样的值而不会丢失有关前导零的信息,并且可以超过 long 的上限?
我目前将它们存储在这样的类中,如果 BCL 中没有可用的结构或类,有什么方法可以更好地编写这个类:
[Serializable]
public class Number
{
public int[] Array { get; set; }
public int Length { get { return Array.Length; } }
public Number(string number)
{
Array = new int[number.Length];
for (int i = 0; i < number.Length; i++)
{
Array[i] = Convert.ToInt32(number[i].ToString());
}
}
public Number(int[] array)
{
Array = array;
}
public int ToInt()
{
return Convert.ToInt32(ToString());
}
public override string ToString()
{
StringBuilder sb = new StringBuilder(Array.Length);
foreach (int i in Array)
sb.Append(i);
return sb.ToString();
}
}
将其用作结构的能力将非常有用,轻松检查相等性的能力也将非常有用。
粗体/斜体项目是此类的要求。