ArrayAccess与表达式树中的ArrayIndex

时间:2013-02-20 06:44:53

标签: c# .net linq expression-trees

这两个有什么区别?从API文档看来,它们似乎是完全相同的。

ArrayAccess

VS

ArrayIndex

在这种情况下,它们似乎是多余的,所以我必须在这里遗漏一些东西。

1 个答案:

答案 0 :(得分:12)

编辑:我的初步答案非常错误,我再次尝试。

Expression.ArrayAccess返回IndexExpression,可用于获取或设置数组中元素的值。

Expression.ArrayIndex会返回BinaryExpressionMethodCallExpression,具体取决于所提供的数组表达式的排名(维度数)。然后可以使用返回的表达式从数组中读取值。

因此ArrayAccess为您提供了一个表达式,该表达式提供对数组数据的读写访问权限,而ArrayIndex仅为您提供读访问权。