BOO入门 > 列举 (上一章:命名空间 下一章:例外)


定义 定义 列举:名称对应整数值的集合。

宣告列举

编辑

列举很有用,常被作为类别里的栏位和属性。

import System

// 宣告列舉
enum Day:
    Sunday
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday

class Action:
    [Property(Day)]
    _day as Day

// 把列舉裡所有元素列出
for s in Enum.GetNames(Day):
    print s

列举能避免使用 "magic number","magic number" 会使得程式难以阅读。

  定义 Magic Number:任何不在 -1、0、1、2 范围内的数字。

技术上来说,列举会自动分派一个整数值给每个列举值,所以不需要特别指派。

// 宣告列舉
enum Test:
    Alpha
    Bravo
    Charlie

因此上面的例子就等同于下面的例子。

// 宣告列舉
enum Test:
    Alpha = 0
    Bravo = 1
    Charlie = 2
  建议 除非有特别情况,否则不必要指派整数值。

练习

编辑
  1. 除了星期以外,还有更适合使用列举的情况吗?