Avatar billede tjgrindsted Nybegynder
23. april 2007 - 15:13 Der er 12 kommentarer og
2 løsninger

ByVal, ToString og me/this spm.

Hej

Da jeg er ny i (dot)Net så vil jeg gerne lige lære nogle forskellige ting.

1. ByVal...
Jeg kan se at dette bruges ofte i en evt. sub i Sub Namv(ByVal....) hvad bruges ByVal til !?? og findes der en standart kommando man kan skrive, så den selv finder ud af resten !?

2. .ToString
Kan jeg se findes mange gange efter et udtræ eller andet altså
ObjReader("NAVN").ToString mm. hvad bruges det til.

3. Me og This.
I CSharp kan jeg se man bruger This.Navn og i VB er det Me.Navn hvad gør/betyder Me.Navn.
Avatar billede mikkel_sommer Nybegynder
23. april 2007 - 15:34 #1
byval bruges når du eksempelvis definere en metode så er byval den værdi som skal parses med, eksempel:

Public Sub myMethod(ByVal myParm As String)

ToString metoden anvendes til at give en tekst præsentation af en anden datetype eller et objekt, eksempel:

dim i as int16 = 35 (i kan du så bruge til at beregne med)
dim s as string = i.ToString() (s er "35" men kan ikke beregnes med da det nu er en streng)

me/this bruges til at referere til interne klasse variabler
Avatar billede tjgrindsted Nybegynder
23. april 2007 - 15:40 #2
vil du gå lidt dybere..
Avatar billede mikkel_sommer Nybegynder
23. april 2007 - 15:41 #3
med hvilken en af dem?
Avatar billede tjgrindsted Nybegynder
23. april 2007 - 15:48 #4
gerne dem alle ang. muligheder mm. tror dog jeg har .ToString på plads men alligevel vil jeg gerne lige have det 120% på plads.
Avatar billede arne_v Ekspert
23. april 2007 - 18:55 #5
med hensyn til ByVal versus ByRef saa proev og koer dette:

Imports System

Public Class Foobar
    Public Shared Sub Test(ByVal a1 As Integer, ByRef a2 As Integer)
        a1 = 56
        a2 = 78
    End Sub
    Public Shared Sub Main
        Dim v1 As Integer
        Dim v2 As Integer
        v1 = 12
        v2 = 34
        Console.WriteLine(v1 & " " & v2)
        Test(v1, v2)
        Console.WriteLine(v1 & " " & v2)
    End Sub
End Class
Avatar billede tjgrindsted Nybegynder
23. april 2007 - 19:26 #6
Arne beklager at måtte spørge men udskriver jeg den via Page_Load med

        Call Test()
        Call Main()

eller !?
Avatar billede arne_v Ekspert
23. april 2007 - 19:36 #7
det var en console app

i ASP.NET maa det vaere noget a la:

        Dim v1 As Integer
        Dim v2 As Integer
        v1 = 12
        v2 = 34
        label1.Text = v1 & " " & v2
        Test(v1, v2)
        label2.Text = v1 & " " & v2
Avatar billede tjgrindsted Nybegynder
23. april 2007 - 20:08 #8
Hej

Tak for tålmodigheden, hvis jeg bruger det og lavet 2 label med de 2 id'er så kommer flg. fejl:

Fejlmeddelelse om kompileringsfunktion: BC30469: En reference til et ikke-delt medlem skal være en objektreference.

Kildefejl:



Linje 14:            v1 = 12
Linje 15:            v2 = 34
Linje 16:            label1.Text = v1 & " " & v2
Linje 17:            Test(v1, v2)
Linje 18:            label2.Text = v1 & " " & v2
Avatar billede arne_v Ekspert
23. april 2007 - 20:35 #9
det var bare et lille eksempel

koden udskriver:

12 34
12 78
Avatar billede tjgrindsted Nybegynder
23. april 2007 - 20:46 #10
okay men hvorfor gør den der !?? for på intet tidspunkt bliver v2 = a2, ikke hvad jeg kan se.
Avatar billede arne_v Ekspert
24. april 2007 - 01:38 #11
studer koden lidt

lav evt. selv et lille eksempel
Avatar billede tjgrindsted Nybegynder
26. april 2007 - 12:23 #12
Vil i lægge et svar begge to.
Avatar billede mikkel_sommer Nybegynder
26. april 2007 - 12:49 #13
Kommer her :)
Avatar billede arne_v Ekspert
26. april 2007 - 14:10 #14
svar
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