Si dovrebbe evitare di preoccuparsi per le implicazioni sulle prestazioni di caratteristiche linguistiche specifiche a meno che non si dispone di prove specifiche (misure) che essi sono effettivamente causando un problema.
Le vostre preoccupazioni principali dovrebbero essere la correttezza del codice e la sua manutenibilità.
Come osservazione generale, tuttavia, fusione inutile può spesso essere evitato in C# solo mediante l'applicazione di buone pratiche di programmazione OO e l'utilizzo di farmaci generici (in particolare le collezioni) in modo appropriato. Nei casi in cui è necessario eseguire il cast, è altamente improbabile che si verifichi un collo di bottiglia delle prestazioni a meno che non lo si faccia in un ciclo stretto o con tipi che potrebbero generare un'eccezione di cast non valida.
La maggior parte dei problemi relativi alle prestazioni del mondo reale emerge dalle scelte dell'algoritmo o dalla mancanza di consapevolezza della piattaforma stessa, non dalle specifiche caratteristiche del linguaggio.
Forse potresti aggiungere una piccola cosa alla fine __del sovraccarico di type casting__. È bello avere un consiglio, ma non risponde alla domanda. –
Una buona risposta a una domanda diversa. – Acidic