Du kan använda en ArrayList på följande sätt.
ArrayList array = new ArrayList();
while()
{
array.Add(str);
}
string[] stringarray = (string[])array.ToArray(typeof(string));
Vet dock inte om detta är något bra sätt.
5 svar · 301 visningar · startad av Dino
Har i koden nedan en array "str" som skall få sina värden i en while loop, problemet är bara att jag inte vet hur många element array kommer att innehålla. Den vill att jag skall skriva "new string[antal_element]", men det kan jag ju inte då. Och om man bara skriver "string[] str;", men då kommer felet "Use of unassigned local variable 'str'". Fattar varför det blir så, men hur löser jag mitt problem? Så kan någon ge mig den enkla lösningen. :)
string[] str = new string[];
int i = 0;
SqlDataReader dr = ...;
while(dr.Read())
{
str[i] = dr.GetString(1).Substring(0,1);
i++;
}
Du kan använda en ArrayList på följande sätt.
ArrayList array = new ArrayList();
while()
{
array.Add(str);
}
string[] stringarray = (string[])array.ToArray(typeof(string));
Vet dock inte om detta är något bra sätt.
Verkar lite overkill. Måste väl finnas något mer basic. Men jag får väl nöja mig med det tillsvidare. Tack. :)
För att dynamiskt kunna stoppa in och ut objekt ur en lista, bör du som renholm säger med fördel använda dig av t.ex. en ArrayList. Du kan hantera och manipulera dina strängar lika bra som om det vore en array, så renholms konvertering till en array skulle jag undvika om det inte är absolut nödvändigt. :)
Nej, det finns inget mer basic när man inte kan använda pekare till arrayer - en array måste deklareras statiskt med antal element. :)
Ok, antar att jag kan retunera en ArrayList istället. Tack för svaren. :)