Avatar billede beef12 Nybegynder
05. november 2004 - 12:25 Der er 12 kommentarer og
1 løsning

formattering af et array

Halløj, her en stump kode jeg gerne vil spørge til:


string[] tstarr = {"a","b","c"};

int j;
string tstout = "";

for (j = 0; j < tstarr.Length; j++)
{
    tstout = (tstarr[j]+",");
}
Console.WriteLine(tstout);

tstout outputter nemlig kun c,
Det jeg gerne vil ha' er: a,b,c,
og jeg skal have det lagret i en variabel og derfor kan jeg ikke skrive Console.Write inde i min for-løkke.

Hvordan fjerner jeg forøvrigt det sidste komma? altså sådan så mit output er lig a,b,c
Avatar billede the_party_dog Nybegynder
05. november 2004 - 12:28 #1
tstout = tstout + tstarr[j]+",";

Dette vil hjælpe med dit første problem.
Avatar billede the_party_dog Nybegynder
05. november 2004 - 12:30 #2
Du kunne lave en hurtig, men "grim" løsning:

string[] tstarr = {"a","b","c"};

int j;
string tstout = "";

for (j = 0; j < tstarr.Length; j++)
{
if(j.Equals(tstarr.Length))
{
tstout = tstout + tstarr[j];
}
else
{   
tstout = tstout + tstarr[j]+",";
}
}

Console.WriteLine(tstout);
Avatar billede the_party_dog Nybegynder
05. november 2004 - 12:31 #3
ville nok kunne gøre det for dig...
Avatar billede arne_v Ekspert
05. november 2004 - 12:36 #4
StringBuilder sb = new StringBuilder("");
for (j = 0; j < tstarr.Length; j++)
{
    if(j > 0) sb.Append(",");
    sb.Append(tstarr[j]);
}
string tstout = sb.ToString();
Console.WriteLine(tstout);
Avatar billede arne_v Ekspert
05. november 2004 - 12:36 #5
party>

Du mener nok:

if(j.Equals(tstarr.Length-1))
Avatar billede the_party_dog Nybegynder
05. november 2004 - 12:37 #6
Det gør jeg nok ;)

Sidder ikke lige med VS.NET, og roder PT med delphi, så er lidt rusten.... :)
Avatar billede the_party_dog Nybegynder
05. november 2004 - 12:40 #7
Min fejl kan jeg se nu, tog jo kun længden, med længden og array index er jo netop ikke det samme... Hehe....
Avatar billede beef12 Nybegynder
05. november 2004 - 15:24 #8
tak for det. Party_dog jeg anvendte din metode, og det kører fortrinligt

Smid et svar :-)
Avatar billede kalp Novice
05. november 2004 - 22:11 #9
til at undgå det sidste komma kunne man også lave
det sådan.. den skulle vist også printe alt ud i din array... er dog ikke testet og har aldrig programmeret C# hehe... men Java... har prøvet at oversætte det;)

int i = 0;
do
{
Console.WriteLine(tstout[i] + ",");
i++;
}
while (i < tstarr.Length-1);
{
}
Console.WriteLine(tstout[i]);
Avatar billede kalp Novice
05. november 2004 - 22:12 #10
du må gerne lige teste den..

den sidste Console.WriteLine(tstout[i]);
skal forresten være det sidste dit program udskriver... derfor den ikke er inden i nogen {}
Avatar billede kalp Novice
05. november 2004 - 22:13 #11
sorry alt den "spam"

husk at oprette din array øverst..

string[] tstarr = {"a","b","c"};
Avatar billede the_party_dog Nybegynder
08. november 2004 - 08:09 #12
SVAR! ;)
Avatar billede beef12 Nybegynder
08. november 2004 - 22:58 #13
jamen, så skidt da :-)
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