Eleman kaldırma
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 58 / 66.
Remove(element) yöntemi, belirtilen öğe HashSet içinde mevcutsa onu kaldırır. Bu yöntem, öğe başarıyla kaldırıldıysa true, öğe kümede bulunamadıysa false döndürür.
Boş bir HashSet oluşturun:
HashSet<string> fruits = new HashSet<string>();Küme'ye bazı öğeler ekleyin:
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Cherry");Yukarıdaki kodu çalıştırdıktan sonra, fruits kümesi şunları içerir:
["Apple", "Banana", "Cherry"]Şimdi, kümeden "Banana"yı kaldırın:
bool wasRemoved = fruits.Remove("Banana");Kaldırıldıktan sonra, küme şunları içerir:
["Apple", "Cherry"]wasRemoved değeri true olacaktır, çünkü "Banana" bulundu ve kaldırıldı.
Eğer var olmayan bir öğeyi kaldırmaya çalışırsak:
bool wasRemoved = fruits.Remove("Orange");Küme değişmeden kalır ve wasRemoved false olacaktır.
Görev
KolayRemoveElement adında iki bağımsız değişken alan bir yöntem oluşturun:
- Bir dize HashSet'i (
set) - Kaldırılacak bir dize (
element)
Yöntem, verilen öğeyi kümeden kaldırmayı denemelidir. Öğe başarıyla kaldırıldıysa "Element removed: True", aksi takdirde "Element removed: False" yazdırın. Ardından, güncellenmiş kümeyi yeni bir satıra yazdırın.
Kendin dene
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
public class Program
{
public static void RemoveElement(HashSet<string> set, string element)
{
// Kodunuzu buraya yazın
}
public static void Main()
{
HashSet<string> set = new HashSet<string>();
// Read first line to check if it's JSON format
string firstLine = Console.ReadLine();
string elementToRemove;
// Check if input is in JSON array format
if (firstLine != null && firstLine.StartsWith("[") && firstLine.EndsWith("]"))
{
try
{
// Extract content between square brackets
string arrayContent = firstLine.Substring(1, firstLine.Length - 2);
// Use regex to match all quoted strings
MatchCollection matches = Regex.Matches(arrayContent, @"""([^""]*)""");
foreach (Match match in matches)
{
// Add the captured group (without quotes)
if (match.Groups.Count > 1)
{
set.Add(match.Groups[1].Value.Trim());
}
}
// Read second line for element to remove
string secondLine = Console.ReadLine();
// Check if element is in JSON string format
Match elementMatch = Regex.Match(secondLine, @"""([^""]*)""");
if (elementMatch.Success && elementMatch.Groups.Count > 1)
{
elementToRemove = elementMatch.Groups[1].Value;
}
else
{
elementToRemove = secondLine;
}
}
catch (Exception ex)
{
Console.WriteLine($"Error parsing JSON input: {ex.Message}");
return;
}
}
else
{
// Process traditional input format
string[] elements = firstLine.Split(',');
foreach (string element in elements)
{
set.Add(element.Trim());
}
// Read element to remove in traditional format
elementToRemove = Console.ReadLine();
}
RemoveElement(set, elementToRemove);
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Çok Boyutlu Diziler
2B Dizilere Giriş2B Tanımlama ve Başlatma2B Dizi Öğelerine Erişim2B Dizilerle İç İçe DöngülerDüzensiz DizilerYaygın Matris İşlemleriTekrar - Çok Boyutlu4Akış Denetimi Teknikleri
Erken DönüşlerKoruma KoşullarıAtlama İfadeleri (goto)Break ve Continueİç İçe Koşulları Düzleştirme7İleri Düzey Mantıksal Operatörler
Kısa Devre DeğerlendirmesiKoşullu Mantıksal OperatörlerOperatör ÖnceliğiÖzet - İleri Düzey Operatörler2İleri Düzey Karar Verme
Birden Çok KoşulKarmaşık Boolean MantığıIf ve Switch Karşılaştırmasıİç İçe Switch İfadeleriÖzet - İleri Düzey Kararlar5İstisna Yönetimi
Try-Catch Temelleriİstisna TürleriBirden Çok Catch BloğuDosyalarla ÇalışmaFinally BloğuUsing ve Try-Finally KarşılaştırmasıÖzel İstisnalarTekrar - Hata Yönetimi8Veri Analiz Sistemi
Veri Toplama KurulumuVeri Girişi Mantığı11HashSet Bölüm 1
HashSet nedir?Eleman eklemeEleman kaldırmaBir elemanın var olup olmadığını kontrol etmeBoş ve boyutÖzet - HashSet3Döngü İyileştirmeleri
Döngü PerformansıKarmaşık Yapılar Üzerinde İterasyonHer Döngü TürüDöngüleri Yeniden DüzenlemeÖzet - Optimize Edilmiş Döngüler6Null Yönetimi
Null Referanslarının TemelleriNullable Değer TürleriNull Kontrolü DesenleriSavunmacı ProgramlamaTekrar - Null GüvenliğiKendi başına pratik yap: Online C# derleyicisi