Reputation: 39194
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
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
Reputation: 5622
http://msdn.microsoft.com/en-us/library/aa664674(v=VS.71).aspx
Unfortunately no suffix for short.
Upvotes: 0
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
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