2009. január 30., péntek

Az élet értelme: 1 - avagy néha az is Error, ha még Warning sincs

A múltkori üres feltételes "utasításblokk"-kal kapcsolatban jutott eszembe ez a régi szösszenet, a =+ operátorról.
Mit ír ki az alábbi kód?

int i;
i = 41;
i =+ 1;
Console.WriteLine("Az élet értelme: {0}", i);
Hát azt, hogy "Az élet értelme: 1", miközben köztudott, hogy a helyes válasz nem ez. De miért? Miért nem működik a =+ operátor?
Hát azért, mert nincs olyan. += operátor van, ezt benéztük. De akkor miért nem kapunk fordítási hibát? Hogyhogy így megcserélve is működik?
Egyetlen whitespace odébbugrasztásával sokat lehet dobni a kód olvashatóságán:
i = +1;
Így már talán nem is kell magyarázat.

0 megjegyzés:

Megjegyzés küldése