Çözüldü C# Kayıt arama yapma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

kodlayamadikabi

Femtopat
Katılım
28 Ekim 2020
Mesajlar
38
Merhaba arkadaşlar, kodlarım aşağıdaki şekilde, list1'den seçim yapmadan sadece text e yazarak kayıt aratma yapmak istiyorum.
Yazdığım kod hata vermiyor ama doğru çalışmıyor.
private void button2_Click(object sender, EventArgs e)
{

if (textBox1.Text == listBox1.Items.ToString())
{
MessageBox.Show("ARANAN KAYIT VAR");
}
else
{
MessageBox.Show("ARANAN KAYIT yok");

}

}
 

Dosya Ekleri

  • Ekran görüntüsü 2020-11-03 162939.png
    Ekran görüntüsü 2020-11-03 162939.png
    3,1 KB · Görüntüleme: 73
Çözüm
Yazdığım kod hata vermiyor ama doğru çalışmıyor.
Sebebi listBox'un içindeki yazı koleksiyonunu doğrudan yazıya çevirmeye çalışıyor olmanız.

Yani şu komutun çıktısı böyle:

Kod:
MessageBox.Show(listBox1.Items.ToString());

1604412974267.png


Ben iki yöntem ile yaptım ama hangi yöntemin daha doğru olduğunu bilen birisi söylerse iyi olur. :D

"Contains" ile bu şekilde:

C#:
if (listBox1.Items.Contains(textBox1.Text))
{
    MessageBox.Show("Bulundu.");
}


For each ile ise bu şekilde oluyor:

C#:
foreach (string yazi in listBox1.Items)
{
    if (yazi.Equals(textBox1.Text))
    {
        MessageBox.Show("Bulundu.");
    }
}

Bu kodları anlatmamı isterseniz anlatabilirim.
Yazdığım kod hata vermiyor ama doğru çalışmıyor.
Sebebi listBox'un içindeki yazı koleksiyonunu doğrudan yazıya çevirmeye çalışıyor olmanız.

Yani şu komutun çıktısı böyle:

Kod:
MessageBox.Show(listBox1.Items.ToString());

1604412974267.png


Ben iki yöntem ile yaptım ama hangi yöntemin daha doğru olduğunu bilen birisi söylerse iyi olur. :D

"Contains" ile bu şekilde:

C#:
if (listBox1.Items.Contains(textBox1.Text))
{
    MessageBox.Show("Bulundu.");
}


For each ile ise bu şekilde oluyor:

C#:
foreach (string yazi in listBox1.Items)
{
    if (yazi.Equals(textBox1.Text))
    {
        MessageBox.Show("Bulundu.");
    }
}

Bu kodları anlatmamı isterseniz anlatabilirim.
 
Son düzenleme:
Çözüm
Sebebi listBox'un içindeki yazı koleksiyonunu doğrudan yazıya çevirmeye çalışıyor olmanız.

Yani şu komutun çıktısı böyle:

Kod:
MessageBox.Show(listBox1.Items.ToString());

Eki Görüntüle 724731

Ben iki yöntem ile yaptım ama hangi yöntemin daha doğru olduğunu bilen birisi söylerse iyi olur. :D

"Contains" ile bu şekilde:

C#:
if (listBox1.Items.Contains(textBox1.Text))
{
    MessageBox.Show("Bulundu.");
}


For each ile ise bu şekilde oluyor:

C#:
foreach (string yazi in listBox1.Items)
{
    if (yazi.Equals(textBox1.Text))
    {
        MessageBox.Show("Bulundu.");
    }
}

Bu kodları anlatmamı isterseniz anlatabilirim.
Contains ile olanı anlatır mısın lütfen.
 
Contains ile olanı anlatır mısın lütfen.
Contains, parantez içindeki yazıyı(Bu kodlarda textBox1'in içindeki yazı oluyor.), bir listenin içinde arar.(Listemiz ise listBox1.Items) Eğer eşleşme bulursa "true" olarak geri dönüş verir.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı