Compréhension approfondie de la covariance et de la contravariance en C#
Les notions de covariance et de contravariance prêtent souvent à confusion. Cet article approfondira la nature de la covariance et de la contravariance et illustrera leur utilisation avec des exemples concrets.
Qu'est-ce que la covariance ?
La covariance fait référence à une caractéristique selon laquelle une fonction de cartographie maintient la direction de compatibilité des affectations. Supposons que nous ayons un mappage de l'ensemble A à l'ensemble B, noté A → B. Si A et B sont liés par une relation R, où aR b, alors l'application est covariante si et seulement si aRb implique f(a)Rf(b).
Par exemple, le mappage T → IEnumerable
Onduleur
En revanche, la contravariance inverse le sens de la compatibilité des affectations. La fonction de cartographie contravariante T → C
Par exemple, IComparable
Covariance et contravariance en C#
En résumé, la covariance maintient le sens d'affectation, tandis que la contravariance inverse le sens d'affectation. En C#, les types covariants (tels que IEnumerable
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!