Минимальный по размеру тип данных

130
29 ноября 2019, 04:00

Eсть рандомное число. Как определить в какой минимальный по размеру тип данных помещается данное число? Первое, что приходит на ум - просто проверять меньше ли int.MaxValue и т.д., но может есть более оптимальный способ?

Answer 1

Если сделать небольшой пример, то минимальный тип данных для числа всё таки Int32, максимальный Int64.

class Program
{
    static void Main(string[] args)
    {
        object a = 10;
        Console.WriteLine(a + " " + checkType(a));
        Console.ReadKey(true);
        Console.ReadKey();
        Console.ReadLine();
    }
    private static string checkType(object val)
    {
        if (typeof(Byte).IsInstanceOfType(val))
            return "is byte";
        else if (typeof(Int16).IsInstanceOfType(val))
            return "is Int16";
        else if (typeof(Int32).IsInstanceOfType(val))
            return "is Int32";
        else if (typeof(Int64).IsInstanceOfType(val))
            return "is Int64";
        return "unknown";
    }
}

Результаты:

10 is Int32
100000 is Int32
100000000 is Int32
10000000000 is Int64
READ ALSO
Как заменить данные в текстовом файле

Как заменить данные в текстовом файле

У меня есть файл с переводомФормат у него po

166
C# / DateTime / как привести к часам

C# / DateTime / как привести к часам

День добрый! На странице приложения показаны ивенты доступные для регистрацииДанный метод возвращает все активные ивенты

149
C#. Почему в Концепции DDD описывают работу с абстрактным репозиторием только в типах AgregationRoot?

C#. Почему в Концепции DDD описывают работу с абстрактным репозиторием только в типах AgregationRoot?

Здравствуйте начитался про DDD и одно из ЖЕСТКИХ требований следования этой концепции это работа с репозиторием только в типах "Корень Агрегации"

148
Вложить несколько элементов из БД в DisplayMember, listbox

Вложить несколько элементов из БД в DisplayMember, listbox

Есть база данный, из неё в listbox, в поле DisplayMember, вывожу из таблицы Agent, значения столбца FirstNameКак можно вывести через пробел значения столбцов...

130