Junior
Comment obtenir la valeur par clé dans un dictionnaire en C#?
sobes.tech IA
Réponse de l'IA
On peut utiliser l'indexeur avec une clé ou la méthode TryGetValue.
-
Indexeur (
[clé]):- Retourne la valeur pour la clé spécifiée.
- Lance une
KeyNotFoundExceptionsi la clé n'existe pas.
// Exemple d'utilisation de l'indexeur Dictionary<string, int> ages = new Dictionary<string, int>(); ages["Alice"] = 30; int ageAlice = ages["Alice"]; // Obtient la valeur // ages["Bob"]; // Lancerait une KeyNotFoundException si la clé "Bob" n'existe pas -
Méthode
TryGetValue(clé, out valeur):- Essaie de trouver la valeur pour la clé spécifiée.
- Retourne
truesi la clé est trouvée et assigne la valeur à la variablevaleur. - Retourne
falsesi la clé n'est pas trouvée, etvaleuraura la valeur par défaut pour le type. - Plus sûr lors de la gestion de clés potentiellement absentes.
// Exemple d'utilisation de TryGetValue Dictionary<string, int> ages = new Dictionary<string, int>(); ages["Alice"] = 30; int ageAlice; if (ages.TryGetValue("Alice", out ageAlice)) { // La clé "Alice" a été trouvée, ageAlice contient 30 // ... utiliser ageAlice } int ageBob; if (ages.TryGetValue("Bob", out ageBob)) { // Ce bloc ne s'exécutera pas, car la clé "Bob" n'existe pas } else { // La clé "Bob" n'a pas été trouvée, ageBob sera 0 (valeur par défaut pour int) }
Il est également possible d'utiliser la méthode GetValueOrDefault(clé) (dans .NET Core 2.1+ et .NET Standard 2.1+), qui retourne la valeur pour la clé ou la valeur par défaut si la clé n'est pas trouvée.
// Exemple d'utilisation de GetValueOrDefault
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Alice"] = 30;
int ageAlice = ages.GetValueOrDefault("Alice"); // 30
int ageBob = ages.GetValueOrDefault("Bob"); // 0 (valeur par défaut)