例如,我想为字典分配4项,如波纹管代码(对于TItem的常量数组):
...type TItem = record _Key: string; _Value: string; end;var Dic: array [0..3]of TItem=( (_Key:'A' ; _Value:'Apple'),(_Key:'B' ; _Value:'Book'),(_Key:'C' ; _Value:'C++'),(_Key:'D' ; _Value:'Delphi') );...
有没有办法用TDictionary做这个工作?
我想创建一个Dic(但)的常量数组,如波纹管结构.
... var Dic: TDictionary<string,string>; begin Dic := TDictionary<string,string>.Create; try Dic.Add('A','Apple'); Dic.Add('B','Book'); Dic.Add('C','C++'); Dic.Add('D','Delphi'); finally /// end; ...
有人对我有什么建议吗?
(对不起,如果我的英语很差!)
但是,由于你的TDictionary是String的集合,你可以用它创建常量,你可以在运行时从你的常量构建你的TDictionary.您可以在问题中使用记录,但我喜欢数组:
{$IFDEF WHATEVER}type TDictConstant = array[0..3,0..1] of String;const DICT_CONSTANT: TDictConstant = (('A','Apple'),('B','Book'),('C','C++'),('D','Delphi'));{$ELSE}// If you want it "blank" for one configtype TDictConstant = array[0..0,0..1] of String;const DICT_CONSTANT: TDictConstant = (('',''));{$ENDIF}var Dic: TDictionary<string,string>;procedure TForm1.FormCreate(Sender: TObject);var i: Integer;begin Dic := TDictionary<string,string>.Create; for i := 0 to High(DICT_CONSTANT) do begin // Ignore the "blank" ones if (DICT_CONSTANT[i][0] <> '') or (DICT_CONSTANT[i][1] <> '') then begin Dic.Add(DICT_CONSTANT[i][0],DICT_CONSTANT[i][1]); end; end;end;
我过去做过类似的事情.
总结以上是内存溢出为你收集整理的arrays – 默认值创建一个TDictionary的常量数组全部内容,希望文章能够帮你解决arrays – 默认值创建一个TDictionary的常量数组所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)