Tengo problemas para entender por qué las matrices en C# son covariantes y qué beneficios puede traer esta covarianza. Considere el siguiente ejemplo de código trivial:¿Por qué las matrices C# son covariantes y qué beneficios aporta?
object[] myArray = new string[1];
myArray[0] = 1;
Este código se compila bien, pero será sin contemplaciones y tal como era de esperar explotar en tiempo de ejecución.
Si trato de intentar lo mismo usando genéricos, el compilador se quejaba y me daría cuenta de mi estupidez en una etapa temprana, así que mi pregunta es esta: ¿Por qué el compilador C# permite esta covarianza con matrices y además , ¿Cuáles son los beneficios potenciales?
mquander gana por citar el blog en lugar de simplemente vincularlo. –
@Jon B - y para citar el bit _relevant_. – Oded
Gracias por los enlaces a información adicional. Muy útil. – nukefusion