Avatar billede cablenet.dk Nybegynder
23. marts 2008 - 14:39 Der er 6 kommentarer og
1 løsning

Returnere et string array

Hej!

Har følgende funktion:

        public string[] GetADinfo(string path)
        {
            String[] info = new String[];
            StreamReader sr = new StreamReader(path);
            int i = 0;
            while(!sr.EndOfStream)
            {
                info[i] = sr.ReadLine();
                i+=1;
            }
            sr.Close();
            return info;
        }

Koden virker ikke fordi der ikke er angivet nogen størrelse på arrayet 'info'. Hvordan kan jeg løse dette problem uden først at skulle finde antallet af linier i filen, som så svarer til størrelsen af arrayet? Er det ikke muligt at lave et string array med udefineret størrelse?
Avatar billede erikjacobsen Ekspert
23. marts 2008 - 14:43 #1
Put det ind i en arraylist, list<string>, og lav den til et array bagefter, eller behold listen.
Avatar billede kalp Novice
23. marts 2008 - 14:49 #2
public string[] GetADinfo(string path)
        {
            ArrayList info = new ArrayList();
            StreamReader sr = new StreamReader(path);
            while(!sr.EndOfStream)
            {
                info.Add(sr.ReadLine());
            }
            sr.Close();
            return info.ToArray(typeof(string[]));
        }
Avatar billede cablenet.dk Nybegynder
23. marts 2008 - 14:54 #3
Okay ja! Tak for det, lige hvad jeg ledte efter. Kom begge med et svar.
Avatar billede kalp Novice
23. marts 2008 - 14:59 #4
:)
Avatar billede erikjacobsen Ekspert
23. marts 2008 - 15:21 #5
Nu er en ren ArrayList lidt oldfashioned, når man nu har en generisk List:

    public string[] GetADinfo(String path) {
        List<String> info = new List<String>();
            StreamReader sr = new StreamReader(path);
            while(!sr.EndOfStream)
            {
                info.Add(sr.ReadLine());
            }
            sr.Close();
            return info.ToArray();
    }
Avatar billede kalp Novice
23. marts 2008 - 15:23 #6
well.. den er ikke deprecated, så det bør være fint nok.
Avatar billede erikjacobsen Ekspert
23. marts 2008 - 15:42 #7
;) Jah, det er "nok", men ikke "fint nok". Hvorfor nøjes med en rusten damecykel, når der står en rød Ferrari ved siden af ... ?
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