Junior
Ինչպես ստանալ արժեքը բանալիով C#-ում բառարանում?
sobes.tech AI
Պատասխան AI-ից
Դուք կարող եք օգտագործել ինդեքսատորն բանալիով կամ TryGetValue մեթոդը:
-
Ինդեքսատոր (
[բանալի]):- Վերադարձնում է նշված բանալիի արժեքը:
- Եթե բանալին չկա, ապա գցում է
KeyNotFoundException:
// Օրինակ՝ ինդեքսատորի օգտագործում Dictionary<string, int> տարի = new Dictionary<string, int>(); տարի["Alice"] = 30; int տարիAlice = տարի["Alice"]; // Արդյունքը՝ արժեքը // տարի["Bob"]; // Եթե "Bob" չկա, գցում է `KeyNotFoundException` -
Մեթոդ
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 (նախնական արժեք)