Comment les tableaux implémentent partiellement IList
En C#, les tableaux implémentent IList
Plonger dans le framework
Alors que les tableaux n'implémentent pas IList
Approche Quacks-Like-a-Duck du CLR
Le CLR implémente des techniques spéciales pour les tableaux, similaires à celles utilisées pour la valeur genres. Le compilateur reconnaît les transtypages vers IList
Implémentation de la propriété Count
Bien qu'elle n'ait pas été explicitement déclarée, la propriété Count peut être accessible. Cependant, il est implémenté comme suit :
internal int get_Count<T>() { // Warning: "this" is an array, not an SZArrayHelper T[] _this = JitHelpers.UnsafeCast<T[]>(this); return _this.Length; }
Comme le commentaire le suggère, ce comportement peut être considéré comme une violation des règles, mais il facilite une gestion efficace des tableaux.
Conclusion
Les tableaux implémentent partiellement IList
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!