その数値の一部として先行ゼロを持つことができる可変長の数値を格納しようとしています。
先行ゼロに関する情報を失うことなくこのような値を格納でき、longの上限を超える可能性がある.NET Frameworkのクラスはありますか?
私は現在、これらを次のようなクラスに格納しています。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();
}
}
これを構造体として使用する機能は、同等性を簡単にチェックする機能と同様に、非常に便利です。
太字/斜体の項目は、そのようなクラスの要件です。