问题描述
|
我正在使用Microsoft.FSharp.Core.Collections.Fsharpmap
并且经常不得不写:
var oo = world.Entity.TryFind(t);
var entity = oo == null ? null : oo.Value;
和类似。有更好的风格建议吗?
解决方法
您可以编写一个扩展方法:
public static T ValueOrDefault<T>(this FSharpOption<T> option)
{
return option == null ? default(T) : option.Value;
}
用法:
var entity = world.Entity.TryFind(t).ValueOrDefault();