Jump to content

C# Dizilerde İndexof Metotunda Hata


lamont
 Share

Recommended Posts

arkadaşlar dizilerde indexof metoduyla dizide salıyı aratmaya çalışıyorum dizileri sıralıyor lakin indexof çalışmıyor sadece diziler sıralanıyor sorun nedir?
 
 private void button1_Click(object sender, EventArgs e)
        {
            int j = 0;
            string[] gunler = { "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar" };

           j =Array.IndexOf(gunler, "Salı");

            for (int i = j = 0; j < gunler.Count(); j++)
            {
                listBox1.Items.Add(gunler[j].ToString());            
            }
        }
    }
}
Edited by lamont
Link to comment
Share on other sites

sen for döngüsünü karıştırmışsın biraz

 

            int j = 0;
            string[] gunler = { "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar" };
            j =Array.IndexOf(gunler, "Salı");
            MessageBox.Show(gunler[j]);

bu şekilde yaptığında önce salı'nın indexini alırsın, sonra messagebox ile o indexteki veriyi geri çağırabilirsin. for döngüsünü neden kullandın ayrıca, for döngüsüne j'yi neden karıştırdın. bir önceki örneğinde wolfman uyarmış seni, onun dediği yol doğru idi.

Link to comment
Share on other sites

Senin verdiğin kodda index of çalışıyor.

sen ne yapmak istiyorsun.

Günleri sıralayıp salı yımı seçmek istiyorsun

 

 

 
private void button1_Click(object sender, EventArgs e)
        {
            int j = 0;
            string[] gunler = { "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar" };

            j = Array.IndexOf(gunler, "Salı");

            for (int i = 0; i < gunler.Count(); i++)
            {

                listBox1.Items.Add(gunler[i].ToString());
            }
            listBox1.SelectedIndex = j;
        }
Edited by hophop
Link to comment
Share on other sites

yukarıdaki resimde consol ekranında en üste (1) yazıyor yani salı demek indexof metoduyla bende listbox içinde salı  yı aynı şekilde yazdırmak istiyorum listbox içinde en üste hangi sıradaki gün seçilirse o günün sayısını vermesi gerekiyor aşagıdaki resimdeki kod ve consol erkanındaki bakın 

 

t4xlq9.jpg

Link to comment
Share on other sites

  • Editor
            int j = 0;
            string[] gunler = { "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar" };
 
            j =Array.IndexOf(gunler, "Salı");
             listBox1.Items.Add(j.ToString());             

            for (int i = j = 0; j < gunler.Count(); j++)
            {
                listBox1.Items.Add(gunler[j].ToString());            
            }
Link to comment
Share on other sites

Pairs kardeşime çok tşk ederim sorunu çözüme kavuşturdum hatam ise index of tan sonra listbox aktarmadıgım için ben j yi döngüden sonra listbox aktatrır diye düşünmüştüm Pairs sayesinde sorunu çözdüm çok tşk ederim tüm pairs ve diger arkadaşlara

j =Array.IndexOf(gunler, "Salı");

listBox1.Items.Add(j.ToString());      


Edited by lamont
Link to comment
Share on other sites

arkadaşlar dizilerde array copy kullanıyorum copy bütün dizileri alıyor lakin sadece diziden bazı sadece çarşambaya kadar olanı almak istiyorum ama listbox içinde sıralatamadım alt alta kopyaladım listboxları [0] [1] [2] [3] [4] şeklince altalta sıraladım olmadı consol ekranın oluyor ama listbox sıkıntılı array copy nasıl kullanabilirim

private void button1_Click(object sender, EventArgs e)
{

string[] gunler = { "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar" };

string [] d = new string[7];

Array.Copy(gunler, d, 5);

for (int i =0; i < gunler.Count(); i++)


{

listBox1.Items.Add(d[i].ToString());

}

}
}
}


arkadaşlar yardımcı olaiblirmsiniz

Edited by lamont
Link to comment
Share on other sites

  • Editor

Çarşamba sıralamaya koyarsan 2. sırada

 

0 - Pazartesi

1 - Salı

2 - Çarşamba

 

sen bu dizeden çarşambaya kadar olanını listelemek istiyorsun.

 

o halde

Array.Copy(gunler, 0,d,0,2 );

copy komutun bu şekilde olacak.

 

Yani gunler dizesinden 0 dan başla 2 . elemana kadar kopyala.


Link to comment
Share on other sites

  • Editor
string[] gunler = new string[6]
gunler[0] = "Pazartesi";
gunler[1] = "Salı";
gunler[2] = "Çarşamba";
gunler[3] = "Perşembe";
gunler[4] = "Cuma";
gunler[5] = "Cumartesi";
gunler[6] = "Pazar";


bu şekilde tanımlayıp denermisin gunler i.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...