Avatar billede krydset Nybegynder
22. august 2004 - 10:35 Der er 14 kommentarer og
2 løsninger

Klister en variable på

Hejsa jeg er så småt gået igang med at lære lidt C# men hvordan "klister" man ev variabel på en text

Hvor var er en variabel
MessageBox.Show("Værdien i textfelt 1 er", var);

Men den jeg har dutter ikke

Mvh Thomas L
Avatar billede snepnet Nybegynder
22. august 2004 - 10:39 #1
strig tekst = "hej";
tekst = tekst + " med ";
tekst += "dig";

string andentekst = String.Format("godmorgen {0}","krydset");

Mvh
Avatar billede jepsen999 Nybegynder
22. august 2004 - 10:39 #2
mener du :
MessageBox.Show("Værdien i textfelt 1 er" + var);
Avatar billede krydset Nybegynder
22. august 2004 - 10:45 #3
MessageBox.Show("Værdien i textfelt 1 er" + var); //Virker ikke

Hvad gør {0} i den her snepnet ??
Avatar billede jepsen999 Nybegynder
22. august 2004 - 10:48 #4
hvis din variabel ikke er en string skal du tilføje .ToString()
MessageBox.Show("Værdien i textfelt 1 er" + var.ToString());

Hvilken fejl får du?
Avatar billede snepnet Nybegynder
22. august 2004 - 10:48 #5
den fortæller at parameter nummer 1 skal ind der... du kan angive så mange som du vil :

string s = String.Format("hej {0}, har du {1} kroner","bank",20);

Det hedder composite formatting
Avatar billede krydset Nybegynder
22. august 2004 - 16:48 #6
parameter nr 1 skal ind der. hvordan ved jeg hvad parameter 1 er ??
Avatar billede snepnet Nybegynder
22. august 2004 - 16:54 #7
Det er så udfra den rækkefølge du hælder dem ind
String.Format("hej {0}, har du {1} kroner","bank",20);

"hej {0}, har du {1} kroner" // Dette er det du vil formattere :
"bank",20 // er din række af argumenter, hvor den første er nummer 0, den anden er nummer 1 osv, så skriver du
{0} får du sat "bank" ind, og med
{1} får du sat 20 ind.
Avatar billede arcanex Nybegynder
22. august 2004 - 16:54 #8
string Var = "Krydset";
MessageBox.Show("Mit nick er " + Var);

Den skulle virke fint nok ??
Avatar billede arcanex Nybegynder
22. august 2004 - 16:58 #9
Den måde du skriver det på med
"MessageBox.Show("Værdien i textfelt 1 er", var);" <--Sådan gør du med Console.Write, altså med , imellem.
Men når det er MessageBox.Show, skal det skrives med + i stedet for ,
"MessageBox.Show("Værdien i textfelt 1 er" + var);" <--- sådan der.

Håber det er forståeligt, og jeg ikke har misforstået spørgsmålet.
Avatar billede krydset Nybegynder
22. august 2004 - 17:05 #10
Nå glemte at fjerne , så ja den virker.
Men jeg har på fornemmelsen at snepnet er inde på noget jeg godt kan få brug for senere henne men forstår det bare ikke lige men alt skal jo ikke være lige til.

Jeeres begge virker fint så i kan dele point hvis i vil :-D
Avatar billede snepnet Nybegynder
22. august 2004 - 17:19 #11
Jeg er bare inde på at :

Console.Write("{0} {1} {2}","hej","med","dig");

er nøjagtig det samme som at skrive

Console.Write(String.Format("{0} {1} {2}","hej","med","dig"));

Og der er for øvrigt 18 overloads til Console.Write // Så man gør det bare som man synes bedst.

MessageBox.Show(String.Format("{0} {1} {2}","hej","med","dig"));

Er lige så gangbar... Der er bare ikke et overload på MessageBox.Show så du kan gøre det direkte.

String.Format er en fuldstændig generel metode til at få proppet variabler ind i en tekstreng..... Så mange som man har lyst til.
Men det er bestemt ikke den eneste måde at gøre det på.

Generelt er konkatanering af strenge i C# ved brug af += altså f.eks.
string tekst = "tekst";
tekst += "mere tekst";
Af performancemæssige hensyn ikke nogen særlig god ide.

En stringbuilder er optimeret for den slags :
Stringbuilder sb = new StringBuilder();
sb.Append(...):
sb.Append(...):
sb.Append(...):
sb.Append(...):
sb.Append(...):
sb.ToString() // giver så resultatet.

String.Format benytter en stringbuilder, men det er jo ikke noget der er værd at tage hensyn til hvis man en enkelt gang imellem skal "lægge" to strenge sammen.

Hvis der er behov for en masse gange, at konkatanere en masse strenge, giver det dog en væsentlig forskel.
Avatar billede arcanex Nybegynder
22. august 2004 - 17:21 #12
Det var godt :) Nu ved jeg ikke hvordan du har det med engelsk, men smider lige et link til en engelsk rigtig god side, hvor du lærer alt det basale med c#.

http://www.csharp-station.com/Tutorial.aspx
Avatar billede krydset Nybegynder
22. august 2004 - 17:21 #13
Okaj takker for forklaringen. Men alt er lige nyt her kommer fra php så der er lidt nyt jeg skal lære :-D
Avatar billede krydset Nybegynder
22. august 2004 - 17:22 #14
Sidder allerede og kigger lidt på den side

men her er point til jer begge

Tak :-D
Avatar billede arcanex Nybegynder
22. august 2004 - 17:24 #15
Jeg kom også fra php, inden jeg begyndte at lære c#, så det kan godt være lidt svært i starten det hele :)
Avatar billede snepnet Nybegynder
22. august 2004 - 17:25 #16
Velbekomme krydset... du må bare sige til hvis der skulle være noget :o)
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