Chapter 13 Enumeration Types and Bit Normal
First, enumeration type
1. Use enumeration type:
l Enumeration Type is a program easier to write, read, and maintain, use symbol names in the code instead of the number of programming.
l Strong type, easy type test
2. Notes:
l Enumeration Type Inherits from System.enum, System.enum inherits from System.Valurtype
l Enumeration Types No way to define methods, properties, events
l Enumeration Types are constant rather than read-only fields, so it may introduce version issues (see related discussions in Chapter 8)
l Definition of the type of enumerated type with reference to the same level, can reduce the workload of the code entry
3, the application of methods in system.enum:
l public static type getunderlyingtype (Type EnumType);
Gets to save an enumerated type instance worth underlying type. Declare the basic type syntax used by an enumeration type as follows:
ENUM HUMAN: BYTE
{
Male,
Female
}
Then call the above method ENUM.GETUNDERLYINGTYPE (TypeOf (human); will return System.byte;
l public override string tostring ();
Public String Tostring (String); // Parameter is a format string
Public Static String Format (Type EnumType, Object Value, String Format);
// Value - Value to be converted, format - format string (G, G, X, X, D, D, F, F)
l Public static array getValues (Type EnumType);
Get an array of constant values in enumeration
l Public Static String GetName (Type EnumType, Object Value);
Retrieve the name of the constant with the specified value in the specified enumeration
l public static string [] getNames (type enjoy ";
Retrieve an array of constant names in the specified enumeration.
l Public Static Object Parse (TYPE, STRING);
Public Static Object Parse (TYPE, STRING, BOOL);
Convert one or more character strings of one or more of the ordinary names or digital values to the equivalent enumeration object
l Public Static Bool IsDefined (Type EnumType, Object Value);
Returns whether there is an indication of whether there is a constant with the specified value in the specified enumeration, Value is the value or name of the constant.
l series TOOBJECT method
Returns an instance of the type of enumeration type set to the specified value
Second, the bit mark
l Use the System.FlagSattributes customization feature, so that the TOSTRING or FORMAT method can find each matching symbol in the enumeration value, connect them to a string, separated by a comma; Parse method can use this feature to split string and get composite Enumerated type
l There is also the same effect using the format string f or F
The following example illustrates the above
Using system;
[Flags] // Tailor
Public Enum Human: BYTE / / Customized Basic Type
{
Male = 0x01,
Female = 0x10
}
Public Class EnumTest
{
Public static voidmain
()
{
Human human = human.male | Human.female; //man demon?
Console.writeline (human.tostring ()); // Use FLAGS customization characteristics
//Console.writeline (HUMAN.TOSTRING ("f ")); // Do not use the FLAGS customization characteristics
Console.Writeline (enum.format (Typeof (Human), Human, "G")); // Use Flags customization characteristics
//Console.writeline (TYPEOF (HUMAN), HUMAN, "F"))); // does not use Flags customization characteristics
Human = (human) enum.parse (Typeof (Human), "17");
Console.writeline (human.tostring ()); // Use FLAGS customization characteristics
//Console.writeline (HUMAN.TOSTRING ("f ")); // Do not use the FLAGS customization characteristics
}
}
/*operation result
Male, female
Male, female
Male, female
* /
Note: Note in the above program is syntax when not using Flags feature