Heisenbug
Heisenbug

Reputation: 39194

array of UInt16, what's the suffix in C#?

I'm trying to initialize inline an array of UInt16. For int I can do the following:

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

meanwhile using UInt16 doesn't work without a cast:

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

It's quite annoying do those casts. I was wondering if there is any suffix in C# to disambiguate the assignment (like 0.0f for float).

Upvotes: 5

Views: 4106

Answers (4)

Ani
Ani

Reputation: 113462

Here's an even shorter way than Corey's:

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

(or)

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

Upvotes: 2

Jeremiah Gowdy
Jeremiah Gowdy

Reputation: 5622

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

Unfortunately no suffix for short.

Upvotes: 0

Cᴏʀʏ
Cᴏʀʏ

Reputation: 107596

C# doesn't have a type suffix for unsigned 16-bit integers. VB.NET does though, just for reference:

Dim number As UShort = 8US

Here's another resource that lists the different suffixes.

Upvotes: 5

Corey Kosak
Corey Kosak

Reputation: 2625

I don't think there is one, but why don't you do this instead

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

Upvotes: 16

Related Questions