Periksa Apakah Kunci Ada
Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 48 dari 66.
Untuk memeriksa apakah sebuah kunci ada di HashMap (Dictionary di C#), kamu bisa menggunakan method ContainsKey().
Pertama, buat sebuah dictionary:
Dictionary<string, int> ages = new Dictionary<string, int>();Tambahkan beberapa pasangan kunci-nilai:
ages.Add("John", 25);
ages.Add("Mary", 30);Sekarang periksa apakah sebuah kunci ada:
bool exists = ages.ContainsKey("John");Setelah menjalankan kode di atas, variabel exists akan bernilai true.
Kamu bisa menggunakan ini dalam pernyataan percabangan:
if (ages.ContainsKey("John"))
{
Console.WriteLine("John's age is in the dictionary");
}
else
{
Console.WriteLine("John's age is not in the dictionary");
}Tantangan
MudahBuat method bernama CheckKeyExists yang menerima dua argumen:
- Dictionary<string, int> (dictionary)
- string (key) yang akan diperiksa
Method tersebut harus memeriksa apakah key ada di dalam dictionary dan mencetak:
- "Key exists" jika key ditemukan
- "Key does not exist" jika key tidak ditemukan
Coba sendiri
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
class Program
{
public static void CheckKeyExists(Dictionary<string, int> dictionary, string key)
{
// Tulis kodemu di sini
}
static void Main(string[] args)
{
Dictionary<string, int> inventory = new Dictionary<string, int>();
// Baca input inventaris, menerima format JSON dan format per baris
string firstLine = Console.ReadLine();
// Periksa apakah input berformat JSON
if (firstLine != null && firstLine.StartsWith("{") && firstLine.EndsWith("}"))
{
try
{
// Proses input JSON
string jsonContent = firstLine.Substring(1, firstLine.Length - 2);
// Pisahkan berdasarkan koma yang tidak berada di dalam tanda kutip
string pattern = @",(?=(?:[^""]*""[^""]*"")*[^""]*$)";
string[] entries = Regex.Split(jsonContent, pattern);
foreach (string entry in entries)
{
// Ambil key dan nilai menggunakan regex
Match match = Regex.Match(entry, @"""([^""]+)""\s*:\s*(\d+)");
if (match.Success)
{
string keyMatch = match.Groups[1].Value;
int valueMatch = int.Parse(match.Groups[2].Value);
inventory.Add(keyMatch, valueMatch);
}
}
// Reading the key to check directly
string keyToCheck = Console.ReadLine();
CheckKeyExists(inventory, keyToCheck);
}
catch (Exception ex)
{
Console.WriteLine($"Error parsing input: {ex.Message}");
}
}
else
{
// Process original line-by-line format
string line = firstLine;
// Read lines until an empty line is entered
while (!string.IsNullOrEmpty(line))
{
try
{
string[] parts = line.Split(':');
if (parts.Length == 2)
{
inventory.Add(parts[0], int.Parse(parts[1]));
}
}
catch (Exception ex)
{
Console.WriteLine($"Error parsing line: {ex.Message}");
}
// Read next line
line = Console.ReadLine();
}
// Reading the key to check
string keyToCheck = Console.ReadLine();
CheckKeyExists(inventory, keyToCheck);
}
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1array Multidimensi
Dasar-Dasar array 2DMendeklarasikan dan Menginisialisasi array 2DMengakses Elemen array 2DPerulangan Bersarang dengan array 2Darray BergerigiOperasi Matriks UmumRangkuman: array Multidimensi4Teknik Alur Kontrol
Pengembalian DiniKlausa PenjagaPernyataan Lompatan (goto)Break dan ContinueMeratakan Percabangan Bersarang7Operator Logika Lanjutan
Evaluasi Hubung SingkatOperator Logika PercabanganPrioritas OperatorRingkasan Operator Lanjutan2Pengambilan Keputusan Tingkat Lanjut
Beberapa KondisiLogika Boolean yang KompleksPerbandingan If dan SwitchPernyataan Switch BersarangUlasan: Pengambilan Keputusan Tingkat Lanjut5Penanganan Exception
Dasar Try-CatchJenis ExceptionBeberapa Blok CatchBekerja dengan fileBlok FinallyUsing vs. Try-FinallyException KustomRingkasan: Penanganan error3Peningkatan Loop
Performa LoopIterasi yang KompleksSetiap Jenis LoopRefactoring LoopRangkuman: Loop yang Dioptimalkan6Penanganan Null
Dasar Referensi NullTipe Nilai NullablePola Pemeriksaan NullPemrograman DefensifRingkasan: Keamanan Null9HashMap Bagian 1
Apa itu HashMap?Deklarasikan HashMapPeriksa Apakah Kunci AdaMengakses NilaiMengubah dictionaryRingkasan HashMapLatihan sendiri: Compiler C# online