Usunięcie rekordu z tablicy

0

Witam! Jak moge całkowicie usunąć rekord z tablicy? Stworzyłem tablice ze struktury - coś na zasadzie bazy danych - index, imie, nazwisko. Na te chwile doszedłem do tego jak ten element przerzucić na koniec mojej tabeli ale nie wiem jak go całkowicie usunąć. Prosze o pomoc.

0

Rozwiń, czy pytasz o tablicę jak np:?

string[] tablica 

W takiej strukturze masz pola przypisane do danego indeksu tablicy, więc żeby usunąć jakiś element musiałbyś przepisać wszystkie pozostałe elementy oprócz niego do innej tablicy i zwrócić ją jako nową wersję.

Wykorzystaj lepiej jakaś prawdziwą strukturę danych, np.

List<T>

, która udostępnia metody .Add, .Remove itd.

0

Stworzyłem swoja strukture Czlowiek w której mam pola: index, imie, nazwisko. Dodałem to wszystko do kolejnej struktury w ktorej mam tablice typu człowiek. Ogolnie po dodaniu kilku rekordow chce usunac jakis i teraz nie wiem jak to zrobic tak zeby calkowicie zniknal dany rekord. Chcialem to zrobic w liscie ale problem pojawil mi sie przy wyswietlaniu bo rozumiem ze wtedy musze użyc foreach, a to spowoduje wyswietlenie tych pol tablicy ktore nie sa jeszcze zapelnione (wszedzie indexy beda na 0). Zrobilem metode, w ktorej pobieram id i :

                 List<Czlowiek> tablica = new List<Czlowiek>(Baza.Tab);
                tablica.RemoveAt(id);
0

To wyświetlaj takim foreach:

 foreach (var czlowiek in tablica.Where(c => c.index != 0))

A zamiast .RemoveAt proponuje:

        public void UsunCzlowieka(int id)
        {
            tablica.Remove(tablica.FirstOrDefault(c => c.index == id));
        }

I nie będziesz się musiał martwić o kolejność

0

Dzięki, przez moment rzeczywiście to działało ale teraz juz tak pozmienialem że nic nie pokazuje przy wyświetlaniu. Trudno, widac nie dla mnie takie coś. Dzięki za pomoc!

0

Udało mi się to zrobic na zwykłej tablicy :) Okazało się że brakowąło mi jednej linijki kodu xD Ale bardzo dziękuje za opowiedz bo teraz przynajmniej wiem jak może to wyglądać w liście! Wielkie dzięki!!!

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