将数据类型范围打印到C#控制台

时间:2014-09-04 18:03:17

标签: c# types console primitive-types

我记得自己有一种方法可以在C#中打印出数据类型范围。

我认为它会是int intSize = sizeof(int);,但它只打印出“4字节”。我想打印出数字范围,从最低 -2,147,483,648到2,147,483,647

希望你能帮助我记住自己

2 个答案:

答案 0 :(得分:0)

使用int.MinValue和int.MaxValue。

答案 1 :(得分:0)

您需要int.MinValueint.MaxValue

Console.WriteLine("{0} to {1}", int.MinValue, int.MaxValue);

您可以创建一个通用方法,例如:(无错误检查,无约束)

class ValueRange<T>
{
    public static string GetRange()
    {
        FieldInfo maxValueField = typeof(T).GetField("MaxValue", BindingFlags.Public | BindingFlags.Static);
        FieldInfo minValueField = typeof(T).GetField("MinValue", BindingFlags.Public | BindingFlags.Static);
        return string.Format("{0} to {1}", minValueField.GetValue(null), maxValueField.GetValue(null));
    }
}

然后将其称为:

string str = ValueRange<int>.GetRange();

您将获得:str = "-2147483648 to 2147483647"

double

string str = ValueRange<double>.GetRange();

您将获得:str = "-1.79769313486232E+308 to 1.79769313486232E+308"