Sobes.tech
Junior

Ինչպես ստանալ արժեքը բանալիով C#-ում բառարանում?

sobes.tech AI

Պատասխան AI-ից

Դուք կարող եք օգտագործել ինդեքսատորն բանալիով կամ TryGetValue մեթոդը:

  1. Ինդեքսատոր ([բանալի]):

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