Je dois déclarer une liste d'énumérations et je n'arrive pas à comprendre comment le faire correctement.Comment déclarer une liste <> de Enums en C#
Ceci est mon code à ce jour:
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]**);
}
}
Comme vous pouvez le voir le constructeur de joueur attend une liste des langues qui sont prises en charge par le joueur. Je voulais définir les langues possibles comme enums. Maintenant, je ne sais pas comment je déclare une telle liste dans l'appel de construction.
Je sais que je pouvais le faire comme ceci:
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));
mais je veux écrire le code aussi élégant que possible ... BTW: si vous voyez une autre mauvaise pratique: me dire. Je vais essayer de m'améliorer.
[http://stackoverflow.com/questions/1167361/how-do-i-convert-an-enum-to-a-list-in-c](http://stackoverflow.com/questions/1167361/how-do-i-convert-an-enum-to-a-list-in-c) –
Essayez 'public Player (ID de chaîne, IEnumerable LangList)' et passez un tableau avec 'new [] {Language.Ger , Language.Fng} '. –
ja72