C# 数组的C中的范围运算符

C# 数组的C中的范围运算符,c#,arrays,multidimensional-array,C#,Arrays,Multidimensional Array,我有一个三维数组int数组 arr1 = new int[2,2,2]; 我想创建另一个数组,这次是2D,它将是arr1的一部分 Sudo代码: arr2 = arr1[..,..,2] 。。指所有元素 从arr1为三维秩索引等于2创建二维数组 但在C语言中,数组似乎没有range操作符。我是对的,还是忽略了什么 在其他语言中,有一些范围运算符标记所有元素,例如:。。或: 我希望避免迭代arr1数组。您可以编写自己的扩展 public static void getRange(this in

我有一个三维数组int数组

arr1 = new int[2,2,2];
我想创建另一个数组,这次是2D,它将是arr1的一部分

Sudo代码:

arr2 = arr1[..,..,2]
。。指所有元素

从arr1为三维秩索引等于2创建二维数组

但在C语言中,数组似乎没有range操作符。我是对的,还是忽略了什么

在其他语言中,有一些范围运算符标记所有元素,例如:。。或:


我希望避免迭代arr1数组。

您可以编写自己的扩展

public static void getRange(this int[] array, int start, int end) {
    //your for loop
}
然后使用arr1.getRange1,2


但是没有内置运算符。

我不清楚您的要求是什么,但是没有-在C语言本身中没有类似的内容。我假设您指的是类似于Python中的slcing的内容,您只从3D多维数据集中提取一个片段。也许你应该澄清一下你的问题。我引用的范围运算符来自MatLAB和TestStand。。或:表示范围内的所有元素或维度/等级中的所有元素。我不知道它在Python中是如何工作的。运算符的工作方式类似于selectstatements@HimBromBeere是的,你说得对。这是我的意图。但是我和你来自不同的编程环境,所以也许其他人都认识到了这一点。。和:在TestStand和MatLABAs中都很有名,正如我所说,我不想做循环,但没有内置操作符。我建议您在项目中使用一种快捷方式,尽管它不是您在不同语言中体验到的解决方案