Junior
Как да получите стойността по ключ в речник в C#?
sobes.tech AI
Отговор от AI
Може да използвате индексатор с ключ или метода TryGetValue.
-
Индекатор (
[ключ]):- Връща стойността за посочения ключ.
- Генерира
KeyNotFoundException, ако ключът не съществува.
// Пример за използване на индексатора Dictionary<string, int> възраст = new Dictionary<string, int>(); възраст["Alice"] = 30; int възрастAlice = възраст["Alice"]; // Получаване на стойността // възраст["Bob"]; // Ще генерира KeyNotFoundException, ако "Bob" не съществува -
Метод
TryGetValue(ключ, out стойност):- Опитва се да намери стойността за посочения ключ.
- Връща
true, ако ключът е намерен, и присвоява стойността на променливатастойност. - Връща
false, ако ключът не е намерен, истойностще има стойността по подразбиране за типа. - По-сигурен при работа с потенциално липсващи ключове.
// Пример за използване на `TryGetValue` Dictionary<string, int> възраст = new Dictionary<string, int>(); възраст["Alice"] = 30; int възрастAlice; if (възраст.TryGetValue("Alice", out възрастAlice)) { // Ключът "Alice" е намерен, възрастAlice съдържа 30 // ... използваме } int възрастБоб; if (възраст.TryGetValue("Bob", out възрастБоб)) { // Този блок няма да се изпълни, тъй като ключът "Bob" не съществува } else { // Ключът "Bob" не е намерен, възрастБоб ще бъде 0 (стойност по подразбиране) }
Може също да използвате метода GetValueOrDefault(ключ) (в .NET Core 2.1+ и .NET Standard 2.1+), който връща стойността за посочения ключ или стойността по подразбиране, ако ключът не е намерен.
// Пример за използване на `GetValueOrDefault`
Dictionary<string, int> възраст = new Dictionary<string, int>();
възраст["Alice"] = 30;
int възрастAlice = възраст.GetValueOrDefault("Alice"); // 30
int възрастБоб = възраст.GetValueOrDefault("Bob"); // 0 (стойност по подразбиране)