`System.CopyArray` vs `System.Copy`?

`System.CopyArray` vs `System.Copy`?

除了第一个只处理数组的明显区别外,它们做的事情不一样吗?我一直在阅读这两个功能的帮助页面,但不明白什么时候应该使用一个而不是另一个以及为什么。互联网搜索似乎表明只有第二个用于数组复制目的,如果不是使用循环编写的话。

System.Copy 真是编译器的魔法。它适用于字符串和动态数组

编译器选择所需的内部例程版本(短字符串、长字符串、动态数组不同)并替换您对 Copy.

的调用

对于动态数组 _DynArrayCopyRange 准备内存,提供引用计数,并调用 System.CopyArray 进行元素的深拷贝。

通常您不需要显式调用最后一个过程,这是编译器的特权。