используйте переменную для хранения типа - PullRequest
0 голосов
/ 14 сентября 2018

Я хочу, чтобы моя программа была настраиваемой, какой тип int она должна использовать (скорее всего, между int16 и int32) для экономии места.

Я хочу определить тип в начале моего кода, поэтому мне просто нужно изменить одно место вместо того, чтобы изменить все int16 на int32.

Может ли быть что-то вроде:

Type myIntType = int16;// or int32
//just change here
.....
.....
//lost of use of myIntType
List<myIntType> arr = new List<myIntType>();
.....

В небольшом случае в списке int будут находиться числа от 0 до 10000 так что UInt16 должно быть хорошо.

Но для большого случая int-список будет содержать числа от 0 до 1 000 000 поэтому следует использовать Int32

Я бы даже хотел, чтобы там был int20.

И размер списка может быть очень большим, поэтому пространство занимает много места.

1 Ответ

0 голосов
/ 14 сентября 2018

Вы можете использовать динамический тип в C # (я не уверен, в какой версии он был представлен, но последний должен иметь его)

    List<dynamic> l = new List<dynamic>();
    dynamic d1 = 1;
    dynamic d2 = (Int16)1;

    l.Add(d1);
    l.Add(d2);
    //Your code goes here
    Console.WriteLine(d1.GetType());
    Console.WriteLine(d2.GetType());

    l.ForEach( x => Console.WriteLine(x.GetType()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...