im essayant de faire une méthode qui retourne un nom de carte de mon dictionnaire au hasard.
Mon dictionnaire: Le premier nom défini de la carte qui est une chaîne et le deuxième est la valeur de cette carte, qui est int.
public static Dictionary<string, int> _dict = new Dictionary<string, int>()
{
{"7", 7 },
{"8", 8 },
{"9", 9 },
{"10", 10 },
{"J", 1 },
{"Q", 1 },
{"K", 2 },
{"A", 11 }
};
Méthode: random est généré aléatoirement.
public string getCard(int random)
{
return Karta._dict(random);
}
Le problème est donc:
Impossible de convertir de 'int' en 'chaîne'
Quelqu'un m'aide comment dois-je le faire pour obtenir le nom?
Ceci retournera la clé de la valeur int générée aléatoirement
public string getCard(int random)
{
return Karta._dict.FirstOrDefault(x => x.Value == random).Key;
}
Ceci retournera la clé correspondant à l'index int généré aléatoirement
public string getCard(int random)
{
return Karta._dict.ElementAt(random).Key;
}
Note latérale: que le premier élément du dictionnaire est la clé et le second est la valeur
Vous pouvez prendre des clés ou des valeurs par index:
int value = _dict.Values.ElementAt(5);//ElementAt value should be <= _dict.Count - 1
string key = _dict.Keys.ElementAt(5);//ElementAt value should be < =_dict.Count - 1
Votre clé est une chaîne et votre valeur est un int. Votre code ne fonctionnera pas car il ne peut pas rechercher l'int aléatoire que vous transmettez. En outre, veuillez fournir le code complet