Jag sitter här i en lektion i VB..... å läraren är kass.... det enda sättet att sätta ihop strängar han visste var &... så jag frågade om +-tecknet.... "ja det kanske går, jag har inte testat" En lärare i VB ska väl kunna sånt!? Vad är egentligen rätt att använda?? Hej Efter som plustecknet även kan utföra en adition så är det bättre att alltid använda & som operator vid konkratenering. Slipper man strul. Hejsan OK.... detta förstår jag....men att läraren inte ens visste att man kunde använda + för att slå ihop strängar.... det är skrämmande!! Inte skrämmande men bevisar bara att man alltid har mer att lära trots att han kallar sig lärare. Kul att du kunde ge honom något att lära sig. Tipsa honom om pellesoft så kan han lära sig massor precis som jag gör här av många mycket intressanta inlägg. hehe.... jodu jag tycker det är skrämmande..... ska tipsa honom om Pellesoft imorron..... det kan han behöva !! Hej, Ineffektivt att överhuvudet taget Konkratenera strängar. Ska undvika det.<br> Okej då... "kass" kanske var att ta i, men man får intrycket av att lärarn är dåligt påläst eller inte hållit på så mycket på sista tiden.... det visade sig åxå att han inte kört VB på ett år så det kanske kan vara en ursäkt.... men att inte ens veta att man kan slå ihop strängar med + är lite dåligt iaf.... ska inte klaga mer nu, de som ville fick ta en uppgift å klura på medans han fortsatte att för de andra, å det är ju bra... Dessutom är & effektivare än + eftersom vb inte behöver analysera innehållet i strängen för att se om det är siffror och då addera värdena. Använd alltså alltid & om du vill att strängaran ska slås ihop! (problem uppstår ju om stängarna någon gång skulle vara numeriska)+ eller &
//SuneSv: + eller &
Båda sätten fungerar. Men ! du skall för tydlighetens skull
använda & när du summerar två strängar, och + när det
handlar om matematik dvs 5 + 6 = 13 :-)
I tex Delphi finns bara + , vet inte hur det är i C
mvh
SvenSv: + eller &
Men som sagt det går alldeles utmärkt att konkratenera två strängar med +. Man ska bara vara försiktig när man konkratinerar variabler av typen variant. Då kan vb göra en adittion om undertypen för ena variabeln är ett tal och den andra är en sträng med bara siffror.Sv: + eller &
Det går att concatenera strängar med både + och & operatorn.
Men det rekommenderas inte att använda +-operatorn eftersom den är ämnad att slå ihop två tal.
"2"+"4"= 24
2 + 4 = 6
Alltså + går men bör inte användas för att slå ihop två strängar eftersom ovansående fel då lätt kan uppstå.
/NettanSv: + eller &
Det var ungefär som jag trodde då....
//SuneSv: + eller &
mvh RolandSv: + eller &
//SuneSv: + eller &
Jag vill bara säga två saker i all välmening även om det kanske är helt ovidkommande.
1. Bara för att läraren inte klarar av att svara på alla frågor som Ni elever har så behöver det inte betyda att han är kass. Det kanske är så att han är en utmärkt systemutvecklare, men att han kanske inte har alla syntax och operatorer i VB i huvudet. Om du nu har tipsat din lärare om PelleSoft så hoppas jag att du kan stå för ditt uttalande som han naturligtvis kommer att kunna läsa. Försök att ha mer förståelse, det kommer du att tjäna på i längden.
2. Det går snabbare att konkatinera strängar med operatorn '+' än med '&'. Av den anledningen så kanske man inte skall utesluta '+' i alla lägen.
Andreas: Du som är en vän av effektiv kod kanske har en kommentar på det ?
mvh /ThomasSv: + eller &
<br>
Men om man t.ex. Skall konkratenera många strängar. T.ex. från ett recordset och inte kan använda GetText metoden. KAn man Lägga raderna i en array och göra en join på den.<br>
<br>
Lite tester man kan göra:
<code>
Dim Index as Long
Dim sResult as String
Dim sRows() as String
Const Times = 1000
For Index = 1 to Times
sResult = "abc" + "abc"
Next
For Index = 1 to Times
sResult = "abc" & "abc"
Next
sResult = ""
For Index = 1 to Times
sResult = sResult + "abc"
Next
sResult = ""
For Index = 1 to Times
sResult = sResult & "abc"
Next
Redim sRows(1 to Times)
For Index = 1 to Times
sRows(Index) = "abc"
Next
sResult = Join(sRows,"")
</code>Sv: + eller &
Men min andra tråd om deklarera variabler tyckte jag var ganska dåligt att han inte visste.....
Nog snackat om detta nu, trevlig helg allihopa!!!
//SuneSv: + eller &