Kezdőoldal » Számítástechnika » Programozás » C# ban ez mit jelent?

C# ban ez mit jelent?

Figyelt kérdés

myVar1 = mayVar2 = true

Egyszerűen mindkét változó a true értéket kapja, vagy történik valami susmus a myVar1 és myVar2 között?



2018. aug. 10. 11:13
 1/3 anonim ***** válasza:
C#-hoz nem igazán értek, de szerintem ez ugyanaz, mint C/C++-ban, amikor egyszerre több változónak adod ugyanazt az értéket. Pontosabban először a Var2 felveszi a true értéket, utána pedig a Var1 felveszi a "Var2 = true" kifejezés értékét, ami true.
2018. aug. 10. 11:20
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Igen, kb. ahogy az első válaszoló írja. Picit pontosabban:


A myVar2 a típusától függően felveszi vagy a true értéket, vagy ha van a saját típusában implicit konverziós operátor bool-ról a saját típusára, akkor ez által a függvény által visszaadott értéket (objektumot).


Utána a myVar2-t adja értékül (vagy implicit konvertálja) myVar1-nek.


Szóval a myVar1 és myVar2 nem feltétlenül bool. Sőt, az is lehet, hogy a myVar1-nek nem is lehet bool értéket adni közvetlenül, pl:


static void Main(string[] args)

{

    MyClass1 myVar2;

    MyClass2 myVar1;


    myVar1 = true; // compile error: Cannot implicitly convert bool to MyClass2


    myVar1 = myVar2 = true; // ok

}


class MyClass1

{

    public int Prop1 { get; set; }


    public static implicit operator MyClass1(bool b)

    {

        return new MyClass1 {Prop1 = b ? 1 : 2};

    }

}


class MyClass2

{

    public int Prop2 { get; set; }


    public static implicit operator MyClass2(MyClass1 c)

    {

        return new MyClass2 { Prop2 = c.Prop1 * 10 };

    }

}

2018. aug. 10. 22:59
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Köszönöm a válaszokat, ment a zöld!
2018. aug. 12. 11:37

További kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!