【发布时间】:2013-05-28 11:58:45
【问题描述】:
我需要声明一个枚举列表,但我不知道该怎么做。
这是我目前的代码:
public enum Languages
{
Ger,Eng,Fra,Ita,Rus
}
public class Player
{
public string ID { get; private set; }
private List<Languages> Languages;
public Player(string ID, List<Languages> LangList)
{
this.ID = ID;
this.Languages = LangList;
}
}
class Program
{
static void Main(string[] args)
{
Player PlayerA = new Player("Player A", **[Problem is here]**);
}
}
正如您所见,Player 的构造函数需要播放器支持的语言列表。我想将可能的语言定义为枚举。现在我不知道如何在构造调用中声明这样的列表。
我知道我可以这样做:
List<FoolMeLib.Languages> pLang = new List<FoolMeLib.Languages>;
pLang.Add(FoolMeLib.Languages.Ger);
pLang.Add(FoolMeLib.Languages.Eng);
NewGame.AddPlayer(new FoolMeLib.Player("Player A", pLang));
但我想将代码编写得尽可能简洁...顺便说一句:如果您发现任何其他不良做法:请告诉我。我正在努力改进。
【问题讨论】:
-
尝试
public Player(string ID, IEnumerable<Languages> LangList)并使用new[] { Language.Ger, Language.Eng }传递一个数组。