Bagaimana cara memperbarui nilai untuk kunci tertentu dalam kamus Dictionary<string, int>
?
c#
dictionary
Amit
sumber
sumber
Jawaban:
Arahkan saja ke kamus di tombol yang diberikan dan berikan nilai baru:
sumber
Itu mungkin dengan mengakses kunci sebagai indeks
sebagai contoh:
sumber
++dictionary["test"];
ataudictionary["test"]++;
tetapi hanya jika ada entri dalam kamus dengan nilai kunci "test" - contoh:if(dictionary.ContainsKey("test")) ++dictionary["test"];
else dictionary["test"] = 1; // create entry with key "test"
Anda dapat mengikuti pendekatan ini:
Tepi yang Anda dapatkan di sini adalah bahwa Anda memeriksa dan mendapatkan nilai kunci yang sesuai hanya dalam 1 akses ke kamus. Jika Anda menggunakan
ContainsKey
untuk memeriksa keberadaan dan memperbarui nilai menggunakandic[key] = val + newValue;
maka Anda mengakses kamus dua kali.sumber
dic.Add(key, newValue);
Anda bisa menggunakan usedic[key] = newvalue;
.Gunakan LINQ: Akses ke kamus untuk kunci dan ubah nilainya
sumber
Berikut adalah cara untuk memperbarui dengan indeks seperti di
foo[x] = 9
manax
kuncinya dan 9 adalah nilainyasumber
perbarui - ubah hanya ada. Untuk menghindari efek samping dari penggunaan pengindeks:
perbarui atau (tambahkan baru jika nilai tidak ada dalam dic)
contohnya:
sumber
Ini mungkin bekerja untuk Anda:
Skenario 1: tipe primitif
Skenario 2: Pendekatan yang saya gunakan untuk Daftar sebagai Nilai
Semoga bermanfaat bagi seseorang yang membutuhkan bantuan.
sumber