Zitat von
Der_Unwissende:
[ANMERKUNG NACH ROTEM KASTEN]
Ich möchte nochmal betonen, dass es keine Rechtfertigung gibt dies in einer Sprache zuzulassen, vollkommen unnötig!
[/ANMERKUNG NACH ROTEM KASTEN]
In
IL zu schreiben, _ist_ (so gut wie immer) unnötig
. Zudem ist
CIL insofern eine besondere Sprache, dass sie einfach nur die menschenlesbare Form des Inhaltes einer jeden .Net-Assembly, des
IL-Bytecodes, ist. Der
IL-"Compiler" hat überhaupt keine Entscheidungsfähigkeit über sinnvoll und nicht sinnvoll, da er einfach nur ein Übersetzer ist. Diese Entscheidung liegt bei den Compiler-Herstellern, und bei deren Produkten habe ich wie gesagt noch nie eine Verwendung dieser Eigenschaft der Common Language Runtime gesehen.
Code:
.method static void Main(string[] args)
{
.entrypoint
.maxstack 1
call int32 GimmeFive()
call void [mscorlib]System.Console::WriteLine(int32)
ret
}
.method static int32 GimmeFive()
{
.maxstack 1
ldc.i4.5
ret
}
.method static string GimmeFive()
{
.maxstack 1
ldstr "Five"
ret
}