Junior
C#-də lüğətdə açar ilə dəyəri necə əldə etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Açar ilə indeksləyici və ya TryGetValue metodundan istifadə edə bilərsiniz.
-
İndeksləyici (
[açar]):- Verilən açar üçün dəyəri qaytarır.
- Əgər açar mövcud deyilsə,
KeyNotFoundExceptionatır.
// İndeksləyicinin istifadəsi nümunəsi Dictionary<string, int> yaşlar = new Dictionary<string, int>(); yaşlar["Alice"] = 30; int AliceYas = yaşlar["Alice"]; // Dəyəri alır // yaşlar["Bob"]; // "Bob" açarı yoxdursa, KeyNotFoundException atacaq -
TryGetValue(açar, out dəyər)metodu:- Verilən açar üçün dəyəri tapmağa çalışır.
- Əgər açar tapılsa,
trueqaytarır və dəyəridəyərdəyişəninə təyin edir. - Əks halda,
falseqaytarır vədəyərstandart dəyərdə olacaq. - Potensial olaraq mövcud olmayan açarlarla işləmək üçün daha təhlükəsizdir.
// `TryGetValue` istifadə nümunəsi Dictionary<string, int> yaşlar = new Dictionary<string, int>(); yaşlar["Alice"] = 30; int AliceYas; if (yaşlar.TryGetValue("Alice", out AliceYas)) { // "Alice" açarı tapıldı, AliceYas 30 // ... istifadə edin } int BobYas; if (yaşlar.TryGetValue("Bob", out BobYas)) { // Bu blok icra olunmayacaq, çünki "Bob" açarı yoxdur } else { // "Bob" açarı tapılmadı, BobYas 0 (standart dəyər) }
Həmçinin, GetValueOrDefault(açar) metodundan istifadə etmək mümkündür ( .NET Core 2.1+ və .NET Standard 2.1+ ), bu metod göstərilən açar üçün dəyəri və ya standart dəyəri qaytarır, əgər açar tapılmazsa.
// `GetValueOrDefault` istifadə nümunəsi
Dictionary<string, int> yaşlar = new Dictionary<string, int>();
yaşlar["Alice"] = 30;
int AliceYas = yaşlar.GetValueOrDefault("Alice"); // 30
int BobYas = yaşlar.GetValueOrDefault("Bob"); // 0 (standart dəyər)