массив UInt16, что такое суффикс в C #? - PullRequest
5 голосов
/ 08 ноября 2011

Я пытаюсь инициализировать встроенный массив UInt16. Для int я могу сделать следующее:

int[] int_array = new[]{0,0,0,0};

Между тем использование UInt16 не работает без приведения:

UInt16[] uint16_array= new[]{(UInt16)0,(UInt16)0};

Это довольно раздражает, делать такие броски. Мне было интересно, есть ли в C # суффикс для устранения неоднозначности присвоения (например, 0.0f для float).

Ответы [ 4 ]

16 голосов
/ 08 ноября 2011

Я не думаю, что есть, но почему бы вам не сделать это вместо этого

UInt16[] uint16_array= new UInt16[] { 0, 0, 0, 0 };
5 голосов
/ 08 ноября 2011

C # не имеет суффикса типа для 16-разрядных целых чисел без знака. VB.NET, хотя, просто для справки:

Dim number As UShort = 8US

Вот другой ресурс , в котором перечислены различные суффиксы.

2 голосов
/ 08 ноября 2011

Вот еще более короткий путь, чем у Кори:

ushort[] uint16_array = { 0, 0, 0, 0 };

(или)

UInt16[] uint16_array = { 0, 0, 0, 0 };
0 голосов
/ 08 ноября 2011

http://msdn.microsoft.com/en-us/library/aa664674(v=VS.71).aspx

К сожалению, для краткости нет суффикса.

...