09/02/04 23:49:28
>>701
void Hoge()
{
int x = Class.Method(a,b);
}
これだとxはMethod(a,b)から返ってくる値しかとれないでしょ。
void Hoge(Func<int> getX)
こうしておけば
Hoge(() => x + y);
Hoge(() => x * y);
外部から自由な演算を入れられる。
ハッシュテーブルのキーが欲しいということになっても
Dictionary<TKey, TValue> CreateDictionary<TKey, TValue>(TValue[] array, Func<TValue, TKey> getKey)
{
Dictionary<TKey, TValue> dic = new Dictionary<TKey, TValue>();
foreach(var item in array)
{
dic.Add(getKey(item), item);
}
return dic;
}
var dic = CreateDictionary(array, item => item.Name);
その型のKeyにしたいものを自由に選べる