C#枚举数组

来源:互联网 发布:男生自慰知乎 编辑:程序博客网 时间:2024/06/11 11:16

来源: http://hi.baidu.com/love_hh/blog/item/d680ab19bc330c4542a9adaa.html

由于昨天停电,所以没有看书,今天补补昨天的东西吧,写个枚举的语法,然后写一些例子,其实对枚举还是印象比较深,因为以前写C++时写的比较多,那时对它挺感兴趣。可是隔了这么久可能也陌生了许多。

定义一个枚举方法:

public enum Test
{
 Morning = 0,
 Afternoon = 1,
 Evening = 2

}
用关键词enum,我怎么对它很陌生啊,就是对它的语法熟,faint.

 

在本例中,在枚举中使用一个整数值,来表示一天的每个阶段。现在可以把这些值作为枚举的成员来访问。例如,TimeOfDay.Morning返回数字0。使用这个枚举一般是把合适的值传送给方法,在switch语句中迭

代可能的值。
class EnumExample
{
 public static int Main()
{
 WriteGreeting(TimeOfDay.Morning);
 return 0;
}
 static void WriteGreeting(TimeOfDay timeOfDay)
{
 switch(timeOfDay)
{
 case TimeOfDay.Morning:
   Console.WriteLine("Good morning!");
   break;

 case TimeOfDay.Afternoon:
   Console.WriteLine("Good afternoon!");
   break;

 case TimeOfDay.Evening:
   Console.WriteLine("Good evening!");
   break;
 
 default:
   Console.WriteLine("Hello!");
   break;
}
}
}

可以获取枚举的字符串表示,例如使用前面的TimeOfDay枚举:
   TimeOfDay  time = TimeOfDay.Afternoon;
   Console.WriteLine(time.ToString());
会返加字符串Afternoon.
另外,还可以从字符串中获取枚举值:
   TimeOfDay.time2 = (TimeOfDay)Enum.Parse(typeof(TimeOfDay),"afternoon",true);
   Console.WriteLine((int)time2);
代码说了如何从字符串获取枚举值并转换为整数。要从字符串中转换,需要使用静态的Enum.Parse()方法,这个方法带3个参数,第一个参数是要使用的枚举类型。其句法是关键字typeof后跟放在括号中的枚举类名。第二个参数是要转换的字符串,第三个参数是一个bool,指定在进行转换时是否忽略大小写。最后,注意Enum.Parse()方法实际上返回一个对象引用--我们需要把这个字符串显式转换为需要的枚举类型(这是一个拆箱操作的例子)。对于上面的代码,将返回1,作为一个对象,对应于TimeOfDay.Afternoon的枚举值。在显式为int时,会再次生成1.

例子是从网站上抄下来的,回家用工具测试一下,觉得这个例子还挺详细的。

数组
例如:int表示一个整数,而int[]表示一个整型数组
int[] integers;
要初始化特定大小的数组,可以使用new关键字,在类型名后面的方括号中给出大小。
int[] integers = new int[32];
所有的数组都是引用类型,并遵循引用的语义。因此,即使句各个元素都是基本的值类型,integers数组

也是引用类型。如果以后编写如下代码:
int[] copy = integers;
该代码也只是把变量copy指向同一个数组,而不是创建一个新数组。
要访问数组中的单个元素,可以使用通常的语法,在数组名的后面,把元素的下标放在方括号中。所有的

C#数组都使用基于0的下标方式,所以要用下标0引用第一个变量:
untegers[0] = 35;
同样,用下标值31引用有32个元素的数组中的最后一个元素:
integers[31] = 432;
C#的数组句法也非常灵活,实际上,C#可以在声明数组时不进行初始化,这样以后就可以在程序中动态地

指定其大小。利用这项技术,可以创建一个空引用,以后再使用new关键字把这个引用指向请求动态分配的内存位置:
int[] integers;
integers = new int[32];
可以使用下面的语法查看一个数组包含多少个元素:
int numElements = integers.Length;

 

原创粉丝点击