c# - Casting Enum to uint -
I am writing a function that takes Enum and put it on uint . When casting while I cast to int , I've already added what you've seen in something: (int) (object) myEnumValue . If you type myEnValue , you get a compiled time exception.
Now, when I tried to put it in the UIT, I expected that (UIT) (object) my anonymize would be okay. It compiles well, but on the run, it creates a InvalidCastException , to work it, I
(uint) (int) (object ) I have used my Anonymous value I think it looks ridiculous, so I am very happy, but why is it so? Perhaps it would be better to ask why it is not possible to put object to uint , but I am interested in whether the There is another way to go from Enum to uint . Is there?
Edit:
The reference is a function, something like this:
Public static UIT toUuent (Anum E) {Return (UIT) (int) (object) e; }Edit 2:
The best solution was written by:
Convert ToUInt32 (e)
(UIT) (object) myEnum approach fails because, by default, C # arrays use int as their underlying type, and a int is when they are boxed There are C # syntax as these anhms are their underlying type (like enum MyEnum: receive uint ).
You must explicitly specify the compiler object before int first, then int to uint Make a numerical conversion on. (Although the syntax is the same, there is a separate process of casting between object from a value type to unboxing int and uint ).
Comments
Post a Comment