gpt4 book ai didi

arrays - Delphi中的关联数组,带有字符串键的数组可以吗?

转载 作者:行者123 更新时间:2023-12-03 14:44:47 25 4
gpt4 key购买 nike

如果您使用 php,您可以看到 php 在编程语言中具有关联数组(或数组宽度字符串键)。例如:

$server['hostname']  =  'localhost';
$server['database'] = 'test';
$server['username'] = 'root';
$server['password'] = 'password' ;

// 2d array
$all['myserver']['hostname'] = 'localhost' ;

但在delphi中找不到任何默认使用关联数组的方法。

首先,我想找到没有任何输出组件或类的默认方式。其次,如果我真的找不到内部方式,我会强制仅选择输出类。

我使用Delphi XE3,非常感谢您的帮助。

编辑:我在这里找到了一个类:http://www.delphipages.com/forum/showthread.php?t=26334与 php 相同,但有更好的方法吗?

最佳答案

您可以使用 TDictionary<string,string> 来自Generics.Collections单位。

var
Dict: TDictionary<string,string>;
myValue: string;
....
Dict := TDictionary<string,string>.Create;
try
Dict.Add('hostname', 'localhost');
Dict.Add('database', 'test');
//etc.
myValue := Dict['hostname'];
finally
Dict.Free;
end;

等等等等。

如果你想要一个包含字典的字典,你可以使用 TDictionary<string, TDictionary<string,string>>

但是,当您这样做时,您需要特别注意外部词典中包含的词典项目的生命周期。您可以使用TObjectDictionary<K,V>帮助您管理。您可以像这样创建这些对象之一:

TObjectDictionary<string, TDictionary<string,string>>.Create([doOwnsValues]);

这个TObjectDictionary<k,V>操作方式与传统 TObjectList 相同与 OwnsObjects设置为True .

关于arrays - Delphi中的关联数组,带有字符串键的数组可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13765606/

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