私のコード:
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 を使用しています