Avatar billede decrypto Nybegynder
19. januar 2007 - 15:09 Der er 15 kommentarer

Finde det sidste index i en generisk liste

Meget simpelt:

Jeg har en list af mine egne objekter.

Jeg har lavet en foreach på dem, men jeg vil gere vide når jeg når den sidste i den foreach, da jeg så skal gøre noget mere i den forbindelse.

Så jeg skal brugen en if "jeg er ved den sidste" i min foreach.

Er der nogen der kan hjælpe?
Avatar billede erikjacobsen Ekspert
19. januar 2007 - 15:14 #1
Du kan aflæse Count på din liste, og følge med med din egen tæller.
Jeg ved ikke om der er en smartere måde.
Avatar billede decrypto Nybegynder
19. januar 2007 - 15:16 #2
Ok.....tænkte nok måske at det ville være den måde.....håbede på en smartere :-)
Avatar billede decrypto Nybegynder
19. januar 2007 - 15:18 #3
Holder den lige åben for andre.....der måske kender en smartere måde....
Avatar billede arne_v Ekspert
19. januar 2007 - 15:52 #4
en gammeldags for loekke er nok paenere en foraech naar der skal sammenlignes
med Count
Avatar billede arne_v Ekspert
19. januar 2007 - 15:53 #5
for(int i = 0; i < lst.Count - 1; i++)
{
  // goer lidt ved lst[i]
}
// goer meget ved lst[lst.Count-1]
Avatar billede md_craig Nybegynder
19. januar 2007 - 16:08 #6
eller:

for(int i = 0; i < lst.Count; i++)
{
  // Gør Noget med lst[i]
  if( i == lst.Count - 1 )
    // Gør noget mere med lst[i]
}

Eller en if else... osv osv...

Og af og til så kunne jeg da personligt også godt lige tænke mig at kunne få fat i hvilket index man er på i midt i en foreach, kunne i nogle specielle tilfælde være rart.
Avatar billede md_craig Nybegynder
19. januar 2007 - 16:13 #7
* How... kom til at sende... manglede lidt...

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

Dækker jo lige præses fint in her...
Det eneste jeg syntes der er rart i det andet, er at man får lidt synsmessigt pænere kode, teknisk set er der ikke noget i det...

Og det er ting som fx:

"item.DoFoo();" istedet for "items[i].DoFoo();" osv... (self kan man selv trække et item ud is starten af en for)...

Så alt i alt må det siges at være pjatting... men man bliver vel aldrig mindre forvendt :P
Avatar billede dr_chaos Nybegynder
19. januar 2007 - 21:59 #8
en helt tredje løsning at lave en foreach og inde i den lave din egen tæller og lave ++ på.
men personlig ville jeg bare lave et simpel for loop
Avatar billede erikjacobsen Ekspert
19. januar 2007 - 22:08 #9
Den tredie løsning er jo så lige med den først foreslåede - under den antagelse at der ønskes anvendt foreach
Avatar billede dr_chaos Nybegynder
20. januar 2007 - 15:32 #10
jeps det kan jeg se ;)
Avatar billede decrypto Nybegynder
27. januar 2007 - 13:25 #11
Hvem er det jeg skylder svar?
Avatar billede dr_chaos Nybegynder
27. januar 2007 - 13:29 #12
ikke mig.
Men det kommer an på hvilken løsning du brugte.
Avatar billede arne_v Ekspert
06. maj 2007 - 04:55 #13
hvilken løsning du har brugt => hvem der skal ligge et svar
Avatar billede decrypto Nybegynder
06. september 2008 - 01:10 #14
smid bare et svar ind arne....selvom det er længe siden....
Avatar billede arne_v Ekspert
06. september 2008 - 04:05 #15
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester