using System;
[ Flags] enum Colors { None= 0 , Red = 1 , Green = 2 , Blue = 4 } ;
public class Example
{
public static void Main( )
{
string[ ] colorStrings = { "0" , "2" , "8" , "blue" , "Blue" , "Yellow" , "Red, Green" } ;
foreach ( string colorString in colorStrings)
{
try {
Colors colorValue = ( Colors) Enum.Parse ( typeof( Colors) , colorString) ;
if ( Enum.IsDefined ( typeof( Colors) , colorValue) | colorValue.ToString ( ) .Contains ( "," ) )
Console.WriteLine ( "Converted '{0}' to {1}." , colorString, colorValue.ToString ( ) ) ;
else
Console.WriteLine ( "{0} is not an underlying value of the Colors enumeration." , colorString) ;
}
catch ( ArgumentException) {
Console.WriteLine ( "'{0}' is not a member of the Colors enumeration." , colorString) ;
}
}
}
}
dXNpbmcgU3lzdGVtOwoKW0ZsYWdzXSBlbnVtIENvbG9ycyB7IE5vbmU9MCwgUmVkID0gMSwgR3JlZW4gPSAyLCBCbHVlID0gNCB9OwoKcHVibGljIGNsYXNzIEV4YW1wbGUKewogICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCiAgIHsKICAgICAgc3RyaW5nW10gY29sb3JTdHJpbmdzID0geyAiMCIsICIyIiwgIjgiLCAiYmx1ZSIsICJCbHVlIiwgIlllbGxvdyIsICJSZWQsIEdyZWVuIiB9OwogICAgICBmb3JlYWNoIChzdHJpbmcgY29sb3JTdHJpbmcgaW4gY29sb3JTdHJpbmdzKQogICAgICB7CiAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIENvbG9ycyBjb2xvclZhbHVlID0gKENvbG9ycykgRW51bS5QYXJzZSh0eXBlb2YoQ29sb3JzKSwgY29sb3JTdHJpbmcpOyAgICAgICAgCiAgICAgICAgICAgIGlmIChFbnVtLklzRGVmaW5lZCh0eXBlb2YoQ29sb3JzKSwgY29sb3JWYWx1ZSkgfCBjb2xvclZhbHVlLlRvU3RyaW5nKCkuQ29udGFpbnMoIiwiKSkgIAogICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiQ29udmVydGVkICd7MH0nIHRvIHsxfS4iLCBjb2xvclN0cmluZywgY29sb3JWYWx1ZS5Ub1N0cmluZygpKTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiezB9IGlzIG5vdCBhbiB1bmRlcmx5aW5nIHZhbHVlIG9mIHRoZSBDb2xvcnMgZW51bWVyYXRpb24uIiwgY29sb3JTdHJpbmcpOwogICAgICAgICB9CiAgICAgICAgIGNhdGNoIChBcmd1bWVudEV4Y2VwdGlvbikgewogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiJ3swfScgaXMgbm90IGEgbWVtYmVyIG9mIHRoZSBDb2xvcnMgZW51bWVyYXRpb24uIiwgY29sb3JTdHJpbmcpOwogICAgICAgICB9CiAgICAgIH0KICAgfQp9