1

我正在尝试将以下值添加到

procedure TForm1.FormCreate(Sender: TObject);
var
  md: TDictionary<string, string>;
  s, v: string;
begin
  md := TDictionary<string, string>.Create;
  try
    s := 'orange';
    v := 'fruit';
    md.Add(s, v);

    s := 'orange ';
    v := 'color';
    md.Add(s, v);

    ShowMessage(IntToStr(md.Count));
  finally
    md.Free;
  end;
end;

我知道这是重复的,但如果你看第二个橙色,你会在最后看到一个空格。我认为德尔福削减了价值,但它不应该。

有谁知道这个问题的解决方案?

谢谢,

4

1 回答 1

4

此代码显示了一个消息框,其中包含所有已知版本的 Delphi 上的数字 2。这完全符合预期,并且TDictionary在比较相等性时,代码肯定不会修剪您的密钥。

于 2012-09-07T14:20:45.590 回答