2

如何在“D”中操作数组?

4

3 回答 3

4

在这里您可以找到 D 中数组操作的完整参考。

于 2008-10-13T04:54:31.117 回答
3

要对数组进行切片,只需使用

int[7] a;
int[] b;
b = a[5..7];

它将 b[0] 设置为 a[5] 并将 b[1] 设置为 a[6]。但请记住,这是对 a 中元素的引用,而不是它们的另一个副本。如果您更改 b[0],这也会影响 a[5]。

如果你想复制,你必须这样做:

int[7] a;
int[2] b;
b[0..1] = a[5..7];

这是因为 b 是一个静态数组;在第一个代码块中,它是动态的(实际上是指向另一个数组中某处的指针)。

于 2008-10-13T05:45:48.597 回答
3

供参考。您还可以使用以下方式复制:

int[7] a;
int[] b;
b = a[5..7].dup;
于 2008-11-06T15:40:23.333 回答