C#枚举类型enum是一种特殊的数据类型,它可以用来定义一组常量,这些常量可以用来表示特定的值。枚举是一种强大的工具,可以让你在代码中使用有意义的名字来表示数字常量。
使用enum声明一个枚举变量,语法如下:
enum 枚举名 { 成员1, 成员2, ... }
例如,我们可以声明一个名为WeekDay的枚举,它包含7天中的7个成员:
enum WeekDay { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }
默认情况下,Sunday将被分配0、Monday将被分配1、Tuesday将被分配2、依此类推。但是我们也可以手动分配值。例如,我们可以将Sunday分配100、Monday分配101、Tuesday分配102、依此类推。语法如下所示:
enum WeekDay { Sunday = 100, Monday = 101, Tuesday = 102, Wednesday = 103, Thursday = 104, Friday = 105, Saturday = 106 }
当我们使用WeekDay时,就会遇到有意义的名字而不是数字常量。这样就能够减少出错的机会并使代码更加易读。例如,我们可以使用WeekDay.Monday而不是101来表示星期一。
枚举器是值的列表上的只读,只向前的光标。
枚举器是实现以下任一接口的对象:
System.Collections.IEnumerator System.Collections.Generic.IEnumerator<T>
foreach
语句可以遍历可枚举对象。
可枚举对象实现 IEnumerable
或 IEnumerable<T>
。
可枚举对象有一个名为GetEnumerator的方法,返回一个枚举器。
IEnumerator
和 IEnumerable
在 System.Collections
中定义。
IEnumerator< T>
和 IEnumerable< T>
在 System.Collections.Generic
中定义。
下面是使用foreach语句对字符进行迭代的高级方法:
foreach (char c in "www..cn"){ Console.WriteLine (c); }
这里是低层次的遍历字符的方法,而不使用foreach语句:
using (var enumerator = "www..cn".GetEnumerator()) while (enumerator.MoveNext()) { var element = enumerator.Current; Console.WriteLine (element); }
您可以在一个步骤中实例化和填充可枚举对象。
例如:
using System.Collections.Generic; ... List<int> list = new List<int> {1, 2, 3};
为了使上面的代码起作用,enumerable对象必须实现System.Collections.IEnumerable接口,并且它具有一个Add方法,该方法具有适当数量的调用参数。
C# for/foreach 循环C# 循环一个 for 循环是一个允许您编写一个执行特定次数的循环的重复控制结构。语法C# 中 for 循环的语法:f...
C# 传递数组给函数 C# 数组在 C# 中,您可以传递数组作为函数的参数。您可以通过指定不带索引的数组名称来给函数传递一个指向数...
C# while 循环 C# 循环只要给定的条件为真,C# 中的 while 循环语句会重复执行一个目标语句。语法C# 中 while 循环的语法:while...
C# 参数数组 C# 数组有时,当声明一个方法时,您不能确定要传递给函数作为参数的参数数目。C# 参数数组解决了这个问题,参数数组...