Sunt locuri in aplicatii unde suntem obligati sa scriem ceva de genul: switch (value) { case "start": ... break; case "end": ... break; case "continue": ... break; default: ... break; } M-am intrebat de mai multe ori daca am putea oare sa eliminam switch. Nu mi-a placut niciodata de acest "statement". Este foarte util, este usor de inteles, dar parca ar putea sa fi inlocuit cu altceva. O solutie pe care pot sa o propun este inlocuirea acestuia cu un dictionar unde cheile sa reprezinta valorile posibile pe care le poate avea variabila, iar valorea din dictionar poate sa fie reprezentata de o functie anonima(lambda expression) sau de un pointer spre o metoda ce contine codul ce trebuie executat. Toate bune si frumoase, o solutie perfecta pentru a scrie un cod "trendy" folosind ceea ce a adus nou .NET 3.5. Dar uitam un lucru de baza, performanta . Switch ... case este optimizat pentru asa ceva si orice am face, oricum am scrie, nu o sa put...
DREAMER, CRAFTER, TECHNOLOGY ENTHUSIAST, SPEAKER, TRAINER, AZURE MVP, SOLVING HARD BUSINESS PROBLEMS WITH CUTTING-EDGE TECHNOLOGY