Delphi的数组 大家都知道 有动态数组和静态数组
一.动态数组=不定长
array of byte
对其操作需要 setlength先分配 然后赋值
优点:不需要提前预先定义长度 方便扩展
缺点:性能对比静态稍差因为成员操作需要频繁的申请
二.静态数组=定长
array [x..y] of byte
对其操作直接操作下标 因为已经预先分配了
优点:定长提前分配减少重定义长度 下标范围也就是从x到y 可以自定义 你可以定义从4到10
缺点:扩展不太方便
好了 现在就是Tbytes了 新版本有很多函数都已经使用Tbytes做参数但是很多人传入 array of byte 却提示参数不匹配。
其实Tbytes就是array of byte 的别名,也就是一个东西叫了不同名字
实践:
参数为 Tbytes 不可以直接传入 array of byte 类型
参数为 array of byte 类型 直接传入Tbyutes 即可
附送2个转换函数:
function ArraytoTbytes(bs:array of byte):Tbytes;
begin
setlength(Result,length(bs));
Move(bs[0],Result[0],length(bs));
end;
function TbytestoArray(bs:array of byte):Tbytes;
begin
setlength(Result,length(bs));
Move(bs[0],Result[0],length(bs));
end;