Avatar billede lmdthel Nybegynder
28. september 2004 - 20:59 Der er 5 kommentarer og
1 løsning

Array gymnastik i C#

Hvis jeg nu har et array , med lad os sige 10 elementer (0-9)
og som f.eks har følgende værdier:

10
.
.
.
90

Hvordan kan jeg så f.eks "skubbe" et nyt element ind ? så jeg f.eks skubber et nyt element ind. feks med værdien 5 , så mit array ender om med at se ud som følgende:
5
10
.
.
80

I Perl er der funktioner som push,pop,shift

/Thomas
Avatar billede arne_v Ekspert
28. september 2004 - 21:01 #1
Det kan du ikke med et array vælg en collection klasse som f.eks. ArrayList der har en Insert metode !
Avatar billede erikjacobsen Ekspert
28. september 2004 - 21:16 #2
Man kan godt hvis man selv skubber ;)  Ikke specielt effektivt, og en ArrayList er nok bedre.

using System;

class skub {

  static void Skub(int[] a,int x) {
    for (int i=a.Length-1;i>=1;i--) a[i]=a[i-1];
    a[0]=x;
  }

  static void Main() {
    int[] a = {5,6,7,8,9,10,11};
    foreach(int x in a) Console.Write(x+" ");
    Console.WriteLine();
    Skub(a,117);
    foreach(int x in a) Console.Write(x+" ");
    Console.WriteLine();
  }
}
Avatar billede arne_v Ekspert
28. september 2004 - 21:20 #3
Ja.

Og man kunne endda erstatte for løkken i Skub med et kald til Array.Copy.

Men det er ikke hvad arrays er beregnet til.
Avatar billede lmdthel Nybegynder
28. september 2004 - 21:21 #4
tak for input'et , det vil jeg bestemt arbejde videre med, men jeg tror jeg vil holde mig til ArrayList *S*

/Thomas
Avatar billede arne_v Ekspert
28. september 2004 - 21:33 #5
jeg vil lige smide et svar
Avatar billede lmdthel Nybegynder
28. september 2004 - 21:35 #6
taaak
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