1

私のコード:

decimal fAnzahlAktuell = 12;
decimal fMenge = 2;
decimal fAnzahlReserviertPickpos = 0;

decimal a = ((decimal)(fAnzahlAktuell - fAnzahlReserviertPickpos)) > fMenge ? fMenge : (decimal)(fAnzahlAktuell - fAnzahlReserviertPickpos);
decimal b = (decimal)((fAnzahlAktuell - fAnzahlReserviertPickpos) > fMenge ? fMenge : (decimal)(fAnzahlAktuell - fAnzahlReserviertPickpos));

x86を使用してコンパイルすると-> aとbの両方= 2

anycpu を使用してコンパイルする場合 -> a = 2 および b = 0

誰も理由を説明できますか?!

編集: Windows 7 x64 で VS2010 、.NET 4.0 を使用しています

ここに画像の説明を入力

4

2 に答える 2