Vilket är rätt sätt att sätta ihop strängar ? Hej Och i nya c# så vill man tydligen hålla på med mattematik när man nu rekomenderar att sätta ihop strängar med + tecken. >En styggelse som bara finns i Vb mig veterligt. Hej + för att addera strängar i C? Knappast, däremot strcat() eller möjligen sprintf(). Plumbum skrev Sluta bråka grabbar Hej Hittade svaret även i vb hjälpfilerSätta ihop strängar ?
Använde tidigare + tecken för att sätta ihop strängar men har fått lära mig att & tecken är mer riktigt.
Alltså:
Dim mittnamn As string
mittnamn = "Roland " & "Ringhede" 'rätt
mittnamn = "Roland " + "Ringhede" 'fel men fungerar
Nu har jag börjat med c# och läser då i böcker att en ny bra funktion i c# som tidigare i c och c++ oftast löstes med en funktion numera har lånat det fiffiga sättet från vb och man kan nu sätta ihop strängar i c# med + tecken !!!???
Nu är min förvirring total (nästan)
Vilket sätt är rätt ?
mvh RolandSv: Sätta ihop strängar ?
Det är bara ett sätt att vara tydlig. Båda funkar,men för att
skilja på att man använder matematik eller att man laborerar med
strängar(text) så använder man & för strängar och + i matematik.
Något som förvånar mig mycket när jag läser här i Forumet är
att folk inte kan skilja på numeriska värde i matematik och text.
Siffror är också tecken som används i strängar.
Om jag skriver ett telefonnummer 08 2345678 så är det klart text(String)
samma sak med postnummer mm.
Då tar man till latmans DataTypen Variant bara för att göra det lätt
för sig.En styggelse som bara finns i Vb mig veterligt.
Variant har ett visst berättigande vid några tillfälle men dom är få.
Ett exempel på Variantträsket som visar på lite vad jag menar
Private Sub Command1_Click()
MsgBox 1 & 2 'kommer att visa 12
MsgBox 1 + 2 'kommer att visa 3
End Sub ' Helsjukt
/SvenSv: Sätta ihop strängar ?
Helförvirrad
/RolandSv: Sätta ihop strängar ?
Variant finns även i ditt favoritspråk Delphi.Sv: Sätta ihop strängar ?
>Och i nya c# så vill man tydligen hålla på med mattematik när man nu rekomenderar att sätta ihop strängar med + tecken.
Om du gör dig besvär att läsa vad jag svarat. I Vb gör man det för att
vara tydlig, I C# Delphi med flera har man inte denna funktion
Där adderar man allt med + tecken. Det är alltså Vb som är amöban
De andra språken har alltid haft +. Kör med + i alla språk om du inte
kan hålla reda på dessa enkla fakta.
/SvenSv: Sätta ihop strängar ?
Sv: Sätta ihop strängar ?
>Variant finns även i ditt favoritspråk Delphi.
Jo det är riktigt men det finns ingen som använder den.
Och och du måste deklarera den det behöver man inte i VB.
Om du vill inbjuda till "trubbel" i din kod ,"so be my guest" säger Variant.
Sometimes it is necessary to manipulate data whose type varies or cannot be determined at compile time. In these cases, one option is to use variables and parameters of type Variant, which represent values that can change type at runtime. Variants, as they are called, offer greater flexibility but consume more memory than regular variables, and operations on them are slower than on statically bound types. Moreover, illicit operations on variants often result in runtime errors, where similar mistakes with regular variables would have been caught at compile time.
/SvenSv: Sätta ihop strängar ?
Ni har både rätt och fel.
Assembler saknar både strängar och strcat om man inte bygger egna funktioner
c saknar strängvariabler och använder vektorer för sådant.
Nu var jag ute efter varför man börjat med tokeriet att lägga ihop strängar med & i vb då flera andra språk använder +
Detta har nu Sven gett bra synpunkter på.
Har kollat lite vidare på hur c# har fixat det och har flera lysande lösningar vilka man saknar i vb 6.0
Om nu jag får tillåtelse att nämna c# i denna tråd
man kan där lägga ihop variabler på enklare sätt även för strängar
vanligtvis skriver man i vb
där s är deklarerad som sträng typ "Dim s as String"
s = s + "HEJ"
alternativt s = s & "HEJ"
i c# kan man skriva s += "HEJ";
Möjligen går detta i vb.net också, har inte kontrollerat detta
Detta har säker många synpunkter på då man hela tiden bygger ut strängen vilket troligen inte är bra för optimerad kod men himla enkelt att använda.
/mvh RolandSv: Sätta ihop strängar ?
Jag tycker att det är tilltalande av Vb att man får skilja på
dessa väsentliga skillnader i editeringsmiljön. Obs får .
I de andra språken är & väl upptaget av andra väsentligheter.
God Jul
/SvenSv: Sätta ihop strängar ?
"When you use the + operator, you may not be able to determine whether addition or string concatenation will occur. Use the & operator for concatenation to eliminate ambiguity and provide self-documenting code."
basic soppa
mvh Roland