C #: Kolejność oceny funkcji (vs C)

Weź następujący kod C (K&R pg. 77):

push(pop() - pop()); /* WRONG */

Książka mówi o tym od tego czasu- i/ nie są operatorami przemiennymi, kolejnością, w jakiej 2pop funkcje są oceniane (oczywiście, aby uzyskać poprawny wynik) ... i dlatego najpierw musisz umieścić wynik pierwszej funkcji w zmiennej, a następnie kontynuować arytmetykę, taką jak:

op2 = pop();
push(op2 - pop());

Najwyraźniej dzieje się tak dlatego, że kompilator nie może zagwarantować, w jakiej kolejności oceniane są funkcje (... dlaczego?)

Moje pytanie brzmi, czy C # robi to samo? jak w, muszę się martwić o coś takiego podczas pracy z C #? i do tego każdy inny język wyższego poziomu?

questionAnswers(8)

yourAnswerToTheQuestion