Tengo curiosidad por saber si todas las conversiones en C# resultado en el boxeo.
No. Sólo las conversiones Resultados del boxeo en el boxeo, de ahí el nombre de 'conversiones de boxeo'. Conversiones de boxeo son todos incorporada en conversiones de tipos de valores a tipos de referencia, ya sea a una clase de la que hereda el tipo de valor o a una interfaz que implementa. (O a una interfaz compatible con una interfaz que implementa, mediante una conversión de referencia covariante o contravariante).
son todos conver siones una operación costosa?
No. Las conversiones de identidad son de costo cero porque el compilador puede eludirlas por completo.
¿Cuáles son los costos de las conversiones de referencia implícitas y explícitas?
Las conversiones de referencia implícitas son de costo cero. El compilador puede elide them enteramente. Es decir, la conversión de Jirafa a su tipo base Animal o Jirafa a su interfaz implementada tipo IAmATallMammal es gratuita.
Conversiones de referencia explícitas implican una comprobación de tiempo de ejecución para verificar que la referencia hace referencia a un objeto del tipo deseado.
Si el control del tiempo de ejecución es "costoso" o no depende de su presupuesto.
¿Puede ese costo medirse correctamente?
Sure. Decida qué recurso es relevante para usted, digamos, y luego mida cuidadosamente su consumo de tiempo con un cronómetro.
Una pregunta que no pidió, pero probablemente debería tener:
¿Cuáles son las conversiones más caros?
Las conversiones definidas por el usuario no son más que un azúcar sintáctico para una llamada a un método; ese método puede tomar arbitrariamente largo, como cualquier método.
Las conversiones dinámicas vuelven a iniciar el compilador en el tiempo de ejecución; el compilador puede tomar un tiempo arbitrariamente largo para realizar un análisis de tipo, dependiendo de qué tan difícil sea el problema de análisis que elija aplicar.
No se trata de un boxeo cuando se lanza de un tipo de referencia a otro. – BrokenGlass
¿Se puede medir de forma adecuada? debería ser evitado? –
Si bien el boxeo no está involucrado al convertir un tipo de referencia a otro, la conversión puede ser. La conversión de un tipo de referencia a otro tipo de referencia no relacionada puede ser costoso. –