将数组放入Enum

时间:2014-05-15 10:32:27

标签: c# arrays enums

这可能是一个愚蠢的问题,但是可以将数组放入Enum吗?

public enum Owners { Me, Neutral, Enemy[] }

我的问题是,我手边没有敌人的数量,所以我很乐意像Owners.Enemy[3]一样使用它。这可能与Enum有关,还是我应该为所有者创建一个单独的类?

2 个答案:

答案 0 :(得分:0)

您可以为Owners枚举创建一个扩展方法,如下所示:

static Enemy[] Enemies;
static Enemy getEnemy(this Owners owner,int index){
return Enemies[index];
}

答案 1 :(得分:0)

Enum可能不适合您正在尝试的内容。它是不同值的编译时表示,帮助您用有意义的名称替换代码中的幻数。

对你的应​​用程序了解不多,我认为你最好为每个人定义一个对象

var me = new Thingy();
var neutral = new Thingy();
var enemy1 = new Thingy();
var enemy2 = new Thingy();

并根据需要将适当的对象分配给字段,例如

class Something
{
    public Thingy Owner { get; set; }
}