02. marts 2006 - 22:10
Der er
21 kommentarer og 2 løsninger
Split funktion
Hej Jeg sidder med streng som jeg gerne vil have delt op i et array. Strengen er 5+5 Jeg har gjort følgende string[] RegneArray = Regnestykke.Split('+'); Mit array ser således ud 5 + 5 er der nogen måde hvorpå jeg kan undgå at få + med i arrayet? Mvh Allan
Annonceindlæg fra Barco
Er jeres mødelokaler sikre nok?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
02. marts 2006 - 22:27
#1
string spiltString = "5+5"; string[] splittet = spiltString.Split('+'); string newString = string.Empty; foreach (string s in splittet) { newString += s; } MessageBox.Show(newString); Følgende tager ikke "+" med hos mig.....
02. marts 2006 - 22:29
#2
Heller ikke hos mig :^) string Regnestykke = "5+5"; string[] RegneArray = Regnestykke.Split('+'); for (int i = 0; i < RegneArray.Length; i++) { Console.WriteLine(RegneArray[i]); }
02. marts 2006 - 22:39
#3
Når jeg så vil ligge 5 og 5 sammen fra arrayet, har jeg prøvet med Resultat = RegneArray[0] + RegneArray[1]; Men det er den ikke glad for (beklager mit lave niveau, men er lige begyndt på c#. Prøver at lave en lommeregner) Ved i hvad jeg gør galt her? Mvh Allan
02. marts 2006 - 22:40
#4
Det skal siges at Resultat er af typen int32
02. marts 2006 - 22:41
#5
Resultat = Int32.Parse(RegneArray[0]) + Int32.Parse(RegneArray[1]);
02. marts 2006 - 22:43
#6
Ihhh, lækkert, tusinde tak for hjælpen begge to. Kom i begge med et svar :) Mvh Allan
02. marts 2006 - 22:45
#7
lige en sidste ting Når jeg laver arrayet dynamisk med følgende Resultat += Int32.Parse(RegneArray[Taeller]); Så går programmet ned når jeg har indtastet regnestykket Noget bud?
02. marts 2006 - 22:46
#8
DEt hele ser således ud for (Int32 Taeller = 0; Taeller <= RegneArray.Length; Taeller++) { Resultat += Int32.Parse(RegneArray[Taeller]); }
02. marts 2006 - 22:47
#9
Resultat = 0; for (Int32 Taeller = 0; Taeller < RegneArray.Length; Taeller++) { Resultat += Int32.Parse(RegneArray[Taeller]); }
02. marts 2006 - 22:48
#10
ahh ligemeget Taeller <= RegneArray.Length skal være Taeller < RegneArray.Length
02. marts 2006 - 22:49
#11
Du kan også gøre sådan: Resultat = 0; foreach (string Tal in RegneArray) { Resultat += Int32.Parse(Tal); }
02. marts 2006 - 22:49
#12
Korrekt :^)
02. marts 2006 - 22:55
#13
:) Jeg har udvidet det lidt, så den også fjerne -'er med følgende string[] RegneArray = Regnestykke.Split('+', '-'); Kan jeg på nogen måde se om det er + eller - der pilles ud?
02. marts 2006 - 22:56
#14
Nej, desværre ikke.
02. marts 2006 - 22:59
#15
hmm, kan jeg så på nogen måde se om der f.eks. bliver pillet et + ud ved følgende string[] RegneArray = Regnestykke.Split('+');
02. marts 2006 - 23:07
#16
Ja. RegneArray.Length giver dig antallet af led efter at der er splittet ved +'erne. RegneArray.Length = 1 ... ingen +'er RegneArray.Length = 2 ... 1 RegneArray.Length = 3 ... 2 +'er RegneArray.Length = 4 ... 3 +'er osv.
02. marts 2006 - 23:08
#17
hvis det skal fungere godt skal du have en parser som er noget mere avanceret end Split hvis du bare skal bruge det, saa er funktionaliteten i .NET (lidt gemt men ...)
02. marts 2006 - 23:10
#18
ved du hvor den er gemt henne?
02. marts 2006 - 23:12
#19
yes jeg tror jeg holder her
02. marts 2006 - 23:13
#20
ja - du skal kalde JavaScript's eval funktion og man kan godt kalde JScript.NET kode fra C#
02. marts 2006 - 23:16
#21
svar
02. marts 2006 - 23:17
#22
vi skal lige have nielle med også
03. marts 2006 - 06:55
#23
Svar :^)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.