gpt4 book ai didi

delphi - 有没有一种简单的方法来克隆字符串数组?

转载 作者:行者123 更新时间:2023-12-03 15:18:08 25 4
gpt4 key购买 nike

我有一个数组声明为:

const A: array[0..3] of ShortString = (
'Customer',
'Supplier',
'Stock',
'GL'
);

var B: array of ShortString;

我想将字符串数组 A 克隆到另一个数组 B。使用“移动”或“复制”功能不起作用。有没有一种快速、简单的方法来克隆数组而不使用 for 循环?

最佳答案

您面临的问题是您的常量A和变量B实际上是不同的类型。这可以通过显示如何以与您在问题中显示的方式等效的方式声明相同类型的 const 和 var 来最轻松地演示:

type
TSA = array[0..3] of ShortString;

const
A: TSA = (
'Customer',
'Supplier',
'Stock',
'GL');

var B: TSA;

有了这些声明,您就可以简单地编写:

B := A;

但是,当 A 是维度数组而 B 是动态数组时,这是不可能的,您唯一的选择是SetLength(B) 根据需要,将元素一一复制。

虽然 constvar 类型可能看起来是相同的或兼容的类型,但它们并非如此,这与尝试分配没有什么不同一个Integer常量到一个String变量...即使知道实现它所需的简单转换,编译器也不能猜测您有意这样做,因此您必须明确并自己提供转换代码。

关于delphi - 有没有一种简单的方法来克隆字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2190202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com