Bien que les tableaux en C# semblent implémenter IList
En réalité, les tableaux implémentent System.Collections.IList, et non System.Collections.Generic.IList
Cependant, le CLR génère des types de tableaux spécifiques qui pourraient potentiellement implémenter ces interfaces. Mais même pour ces types de tableaux concrets, la conversion en IEnumerable
Cela est dû au typage "coins comme un canard", où le compilateur et le CLR reconnaissent les tableaux comme implémentant IList
Même si la propriété Count n'est pas explicitement implémentée, le CLR fournit un getter interne utilisant un transtypage vers le tableau T[].
Ce comportement, bien que quelque peu non conventionnel, permet pour une mise en œuvre transparente et efficace de 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!