掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Generics.Collections.TDictionary の ContainsValue (ID:40019)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
にしのさん、サンプルありがとうございます。 このように記述するんですね。無知です。 動作は確認できました。 GetHashCodeもかならずオーバーライドしないとだめなんですね。(削除するとエラーになる) GetHashCodeはかなりいい加減に作っても期待通り動作するのがなんとも・・。 ハッシュ値が全部同じになってもなんだか動くんですね・・・?このあたりサッパリわかっておりません。 au さん、回答ありがとうございます。 恥ずかしながらクラスでの演算子オーバーロード(オーバーライド?)の方法がわかりません。Helpだと出来る様に書いてあるんですが。 type Myclass = record // class にするとコンパイル不能。recordならOK private F: Integer; public class operator Add(a, b: Myclass): Myclass; constructor create(I: Integer); end; constructor Myclass.create(I: Integer); begin F := I; end; class operator Myclass.Add(a, b: Myclass): Myclass; begin Result.F := a.F + b.F; end; procedure TForm1.Button1Click(Sender: TObject); var Ctest1, Ctest2, Ctest3: Myclass; begin Ctest1 := Myclass.create(1); Ctest2 := Myclass.create(2); Ctest3 := Myclass.create(0); Ctest3 := Ctest1 + Ctest2; ShowMessage(IntToStr(Ctest3.F)); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.