我正在使用Microsoft.FSharp.Core.Collections.FSharpMap 而且经常要写:
var oo = world.Entity.TryFind(t);
var entity = oo == null ? null : oo.Value;
类似。有关更好风格的建议吗?
答案 0 :(得分:6)
你可以写一个Extension Method:
public static T ValueOrDefault<T>(this FSharpOption<T> option)
{
return option == null ? default(T) : option.Value;
}
用法:
var entity = world.Entity.TryFind(t).ValueOrDefault();