Avatar billede n0911 Nybegynder
14. juni 2011 - 13:02 Der er 6 kommentarer og
1 løsning

Hvad er forskellen på at skrive: "this" foran i variablen?

Hej Eksperten,

Hvad er forskellen på disse to versioner:
static void A(this string v1)
{
Console.WriteLine("{0}", v1);
}

static void B(string v1)
{
Console.WriteLine("{0}", v1);
}

Hvad er forskellen på at skrive: "this" foran i variablen?

på forhånd tak.
Avatar billede softspot Forsker
14. juni 2011 - 13:12 #1
Den første er, såvidt jeg ved, en Extension til String-objektet, således du kan kalde A på alle streng-variable, f.eks. "en streng".A(), hvorefter Console så vil udskrive indholdet af den streng hvorpå du kalder A-metoden.
Avatar billede softspot Forsker
14. juni 2011 - 13:14 #2
Den anden version er bare en statisk metode på den klasse hvor du definerer den og skal altså kaldes på klassen og ikke en instans af klassen (et objekt).
Avatar billede jjam Juniormester
14. juni 2011 - 13:14 #3
This henviser til forekomsten af klassen.

se eks.:
  class Person
    {
        private string fornavn;
        private string eftenavn;

        public Person(string fornavn, string eftenavn)
        {
            this.fornavn = fornavn;
            this.eftenavn = eftenavn;
        }
    }
Avatar billede n0911 Nybegynder
14. juni 2011 - 13:25 #5
softspot: Tak for din kommentar, vil ud indsætte et svar?
jjam: Tak for din kommentar
Avatar billede jjam Juniormester
14. juni 2011 - 13:35 #6
@heinzdmx Tak for info.
Det viste jeg simpelthen ikke, og svarrede pr. automatik på "this".
Avatar billede softspot Forsker
14. juni 2011 - 13:36 #7
Velbekomme :-)
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