Junior
Kā iegūt vērtību pēc atslēgas C# vārdnīcā?
sobes.tech AI
Atbilde no AI
Var izmantot indeksatoru ar atslēgu vai TryGetValue metodi.
-
Indeksators (
[key]):- Atgriež vērtību pēc norādītās atslēgas.
- Meta
KeyNotFoundException, ja atslēga nav atrasta.
// Piemērs ar indeksatoru Dictionary<string, int> vecums = new Dictionary<string, int>(); vecums["Alice"] = 30; int AliceVecums = vecums["Alice"]; // saņem vērtību // vecums["Bob"]; // Meta `KeyNotFoundException`, ja atslēga "Bob" nav -
TryGetValue(raksts, out vērtība):- Mēģina atrast vērtību pēc norādītās atslēgas.
- Ja atslēga ir, atgriež
trueun piešķir vērtību mainīgajamvērtība. - Ja nav, atgriež
falseunvērtībabūs noklusējuma vērtība tipam. - Drošāk strādāt ar potenciāli neesošām atslēgām.
// Piemērs ar TryGetValue Dictionary<string, int> vecums = new Dictionary<string, int>(); vecums["Alice"] = 30; int AliceVecums; if (vecums.TryGetValue("Alice", out AliceVecums)) { // Atslēga "Alice" ir, AliceVecums = 30 // ... izmanto } int BobsVecums; if (vecums.TryGetValue("Bob", out BobsVecums)) { // Šis bloks nenotiks, jo "Bob" atslēga nav } else { // Atslēga "Bob" nav atrasta, BobsVecums būs 0 (noklusējuma) }
Tāpat var izmantot metodi GetValueOrDefault(raksts), kas atgriež vērtību pēc atslēgas vai noklusējuma vērtību, ja atslēga nav.
// Piemērs ar GetValueOrDefault
Dictionary<string, int> vecums = new Dictionary<string, int>();
vecums["Alice"] = 30;
int AliceVecums = vecums.GetValueOrDefault("Alice"); // 30
int BobsVecums = vecums.GetValueOrDefault("Bob"); // 0 (noklusējuma)