sortowanie danych

0

Chcę posortować dane i używam do tego takiej funkcji. Niestety jest coś z nią nie tak, bo jak potem chcę wyświetlić posortowane dane to nic się nie zmienia. Używam w tym celu takich funkcji:

    private void Sortuj()
    {
        Kontakt temp;
        bool swap;

        do
        {
            swap = false;

            for (int i = 0; i < phoneBook.Length - 1; i++)
            {
                if (phoneBook[i].Nazwisko.CompareTo(phoneBook[i + 1].Nazwisko) > 0)
                {
                    temp = phoneBook[i];
                    phoneBook[i] = phoneBook[i + 1];
                    phoneBook[i + 1] = temp;
                    swap = true;
                }
            }
        } while (swap == true);
    }

    private void Wyswietl()
    {
        listKontakty.Items.Clear();

        for(int i = 0; i < phoneBook.Length; i++)
        {
            listKontakty.Items.Add(phoneBook[i].ToString());
        }
    }
0

Zastąp funkcję Sortuj tym. Jak chcesz wiedzieć co u Ciebie w tym kodzie jest nie tak to najwyżej potem zajrzę.

      var result = (from contact in phoneBook
                         orderby contact.Nazwisko
                         select contact).ToArray();
0

Ok spróbuję. Dzięki.

0

No jak patrzę na tą Twoją funkcję to powinna działać dobrze. A skoro mówisz, że nic się nie zmienia to zapewne zapomniałeś jej wywołać stąd też tablica nie jest posortowana.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0