Zo logisch is dat niet, de compiler kan bij een case anders gaan handelen en de test constructie optimaliseren omdat alle waarden vastliggen.
Als je gelijkaardige testen uitvoert dan zijn alle mogelijkheden uiteraard ook vooraf bekend in je if/else constructie. Ook zal een bepaalde waarde in het register gehaald worden (die om te vergelijken) en een beetje goede compiler zou zelf moeten opmerken dat deze waarde tot de laatste else in het register moet blijven. Voor de rest zullen de instructies voor de processor grotendeels gelijklopend zijn.
de compiler mag niet mee gaan zitten programmeren....
De delphi compiler test nu bij een case uit of alle waarden uniek zijn, dit is niet het geval bij de if;
en er is minimaal 1 case verplicht, dit vind ik een nadeel inzake programmatie (ik kan met eigen commandos software verzamelen voor in een case constructie).
Een computertaal is voor mensen, niet voor de computer.