C#, C♯, C#相談室 Part84
■ このスレッドは過去ログ倉庫に格納されています
0227デフォルトの名無しさん
2014/08/12(火) 17:09:36.37ID:lEdkViOZクラスA,Bというのを自作していて、
double func(A a, B, b)
という関数をメモ化したいと思ってます。
Dictionaryクラスはkeyとvalueがそれぞれ一つなので、
keyをAとBの二つにするために
Dictionary<Tuple<A, B>, double> memoization = new Dictionary<Tuple<A, B>, double>();
というメモ化用のDictionaryを作り
Tuple<A, B> key = Tuple.Create(a, b);
というキーを生成してメモ化を行おうと思ったのですが、
同じaとbが入ってきたとしてもTuple.Createは新しいインスタンスを作ってしまいますよね?
なので、現状うまくいってません。
何かうまい解決法はありますでしょうか?
aとbにハッシュ関数を適用して適当な値にしてそれをキーにするしかないですか?
衝突の可能性とかがあってできれば避けたいんですが・・・。
■ このスレッドは過去ログ倉庫に格納されています