Estoy un poco confundido acerca de cómo el compilador de C# maneja los incrementos y decrementos previos y posteriores.C# confusiones de pre y post incremento
Cuando codificar el siguiente:
int x = 4;
x = x++ + ++x;
x
tendrá el valor 10 después. Creo que esto se debe a que el preincremento establece x
en 5
, lo que lo convierte en 5+5
que evalúa a 10
. Luego, el incremento posterior actualizará x
a 6
, pero este valor no se utilizará porque 10
se asignará a x
.
Pero cuando el código I:
int x = 4;
x = x-- - --x;
continuación x
será 2
después. ¿Alguien puede explicar por qué este es el caso?
¡Gran pregunta! Y hemos aprendido que nunca escribir código, tiene que pensar en lo que podría hacer, pero qué haría. – RvdK
Cualquiera que escriba un código como este debe sacarse y dispararse. No hay excusa para 'x = x ++ + ++ x;' ... alguna vez. –
era solo una pregunta "académica" - nunca escribiría un código como este :-) – Schweder