Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Sposób na szybkie przeindeksowanie tablicy


Pitagoras333

Pytanie

Opublikowano

Hej, potrzebna mi metoda która przeindeksuje mi tablicę, chodzi o to, że np usunę jakiś element ze środka tablicy, to chcę aby pozostałe elementy się przesunęły, tak aby ta "luka" została przez nie zakryta i przesunęła się na koniec tablicy.  Jedyny pomysł na to jaki mam to przepisywać to w pętli, ale może da się jakoś szybciej, sprawniej ? Istnieje jakaś wbudowana metoda która mogła by to zrobić ?

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Opublikowano

Można zrobić tak:

1.czytam id usuniętej rzeczy, czytam id ostatniego rekordu

2.w pętli:

       -label(1)

       -i=i+1

       -zaznacz, zmień id

      -goto(1)

 

 

Oczywiście nie sugeruj się tym jak to jest napisane (piszę tak ponieważ jest łatwiej to pokazać)

Oczywiście nie jest to tak jakbyś to chciał D:

 

 

 

workColumn.AutoIncrement = true

 

Mój stary nick: damian5602
Nick League Of Legends: Sonaes

Opublikowano

Dodam że warunkiem jest że musi być to tablica, nie lista. (głupie ale takie wymogi na tych durnych studiach xD) Myślałem, że jest coś wbudowanego żeby to rozwiązać, jak np array.resize do zwiększania rozmiaru tablicy, gdzie też najbardziej typowym pomysłem jest przepisywanie jednej tablicy do drugiej powiększonej.

Opublikowano
Dnia 8.04.2019 o 13:10, Pitagoras333 napisał:

Dodam że warunkiem jest że musi być to tablica, nie lista.

A można używać pomiędzy? ?

List<type> tempList = arr.ToList();
tempList.Remove(val);
arr = tempList.ToArray();

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...