/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
+ og &
Fra : Rune Jensen


Dato : 07-02-08 11:54

Er der forskel i at bruge + og & i strengoperationer i ASP/VB-script?

Grunden til, jeg spørger er, at jeg synes, jeg har observeret, man
ikke altid får samme resultat hvadenten man bruger det ene eller det
andet (men jeg har ikke kunnet isolere det helt)

med strengoperaton menes

a = "text" & "text2"
b = b +1
a = "text" + "text2"
b = b &1

...har de nøjagtig samme funktion? & er da også en boolsk operator,
eller hvad?


MVH
Rune Jensen

 
 
Tomasz Otap (08-02-2008)
Kommentar
Fra : Tomasz Otap


Dato : 08-02-08 02:53

On 7 Feb., 19:54, Rune Jensen <runeofdenm...@gmail.com> wrote:
> Er der forskel i at bruge + og & i strengoperationer i ASP/VB-script?
> [snip]
> ...har de nøjagtig samme funktion? & er da også en boolsk operator,
> eller hvad?

Hej Rune,

Interessant, jeg har aldrig lagt mærke til, at VBScript accepterer
brug af + til at sammenlægge strenge. :) Men & er defineret som
operator til strengesammenlægning mens + er defineret som matematisk
operator. Derfor må der være en forskel på den implicitte
konvertering, der foretages hvis du forsøger at sammenlægge variabler
af de to forskellige typer (tal vs. strenge). + vil forsøge at
konvertere strengvariabler til talværdier, mens & vil fortrinsvis
konverte tal til strenge.

Prøv f.eks.:

response.write 1 & "1" (udskriver 11, sammenlagt streng)
response.write 1 + "1" (udskriver 2, summen af tallene)
response.write 1 & 1 (udskriver 11, sammenlagt streng)
response.write 1 & "en" (udskriver 1en, sammenlagt streng)
response.write 1 + "en" (returnerer konverteringsfejl)

Hvis begge variabler er strenge, ser det ud til, at VBScript blot
foretager en almindelig strengsammenlægning, uanset indholdet:

response.write "1" + "1" (returnerer 11, sammenlagt streng)

t

Kim M. Jørgensen (08-02-2008)
Kommentar
Fra : Kim M. Jørgensen


Dato : 08-02-08 11:12

Der er en forskeld

f.eks med
<%
a=4
b=2
response.write a & b ' vil udskrive 42
response.write a + b ' vil udskrive 6
%>

Så hvsi dine variabler eller lignende indeholder tal er det smartest at
bruge &
Men hvis de kun indeholder tekst gør det ikke nogen forskeld.

Men for en ordensskyld er det nok bedst generelt altid at bruge & når amn
ønsker at sammensætte strenge og lignende for ikke at løbe ind i problemer.

"Rune Jensen" <runeofdenmark@gmail.com> skrev i en meddelelse
news:d22ee43f-6126-4d2f-83b5-0ab4eb9f9e24@f10g2000hsf.googlegroups.com...
Er der forskel i at bruge + og & i strengoperationer i ASP/VB-script?

Grunden til, jeg spørger er, at jeg synes, jeg har observeret, man
ikke altid får samme resultat hvadenten man bruger det ene eller det
andet (men jeg har ikke kunnet isolere det helt)

med strengoperaton menes

a = "text" & "text2"
b = b +1
a = "text" + "text2"
b = b &1

....har de nøjagtig samme funktion? & er da også en boolsk operator,
eller hvad?


MVH
Rune Jensen



Rune Jensen (08-02-2008)
Kommentar
Fra : Rune Jensen


Dato : 08-02-08 11:40

On 8 Feb., 11:11, "Kim M. Jørgensen" <kim-rem...@teledi.dk> wrote:
> Der er en forskeld
>
> f.eks med
> <%
> a=4
> b=2
> response.write a & b ' vil udskrive 42
> response.write a + b  ' vil udskrive 6
> %>
>
> Så hvsi dine variabler eller lignende indeholder tal er det smartest at
> bruge &
> Men hvis de kun indeholder tekst gør det ikke nogen forskeld.

Mange tak til jer begge for gode svar. Så kan jeg da bedre forstå, mit
lille ASP-projekt opførte sig så uforudsigeligt


MVH
Rune Jensen

Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste