23. marts 2008 - 14:39Der 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?
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[])); }
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(); }
;) 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 ... ?
Synes godt om
Ny brugerNybegynder
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.