ArrayAccess vs ArrayIndex dans l'arbre d'expression

.net c# expression-trees linq

Question

Quelle est la différence entre ces 2? D'après la documentation de l'API, ils semblent avoir été conçus pour faire exactement la même chose.

ArrayAccess

contre.

ArrayIndex

Dans ce cas, ils semblent redondants, donc je dois manquer quelque chose ici.

Réponse acceptée

Edit: Ma première réponse était tellement fausse que j'essaie encore.

Expression.ArrayAccess renvoie un IndexExpression qui peut être utilisé pour obtenir ou définir la valeur d'un élément dans un tableau.

Expression.ArrayIndex renvoie soit une Expression.ArrayIndex BinaryExpression soit une MethodCallExpression fonction du rang (nombre de dimensions) de l'expression de tableau fournie. L'expression renvoyée peut ensuite être utilisée pour lire une valeur du tableau.

Donc, ArrayAccess vous donne une expression qui fournit un accès en lecture et en écriture aux données du tableau, tandis que ArrayIndex vous donne un accès en lecture uniquement.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow