【发布时间】:2012-08-06 21:25:02
【问题描述】:
在 C# 中,我可以为 T 类型的泛型数组定义扩展方法,如下所示:
public static T GetOrDefault<T>(this T[] arr, int n)
{
if (arr.Length > n)
{
return arr[n];
}
return default(T);
}
但对于我来说,我无法弄清楚如何在 F# 中做同样的事情!我试过type 'a array with、type array<'a> with和type 'a[] with,编译器对它们都不满意。
谁能告诉我在 F# 中这样做的权利是什么?
当然,我可以通过遮盖 Array 模块并轻松添加一个函数来做到这一点,但我真的很想知道如何将它作为扩展方法!
【问题讨论】:
-
“为了我的一生”是什么意思:)?
-
扩展
System.Array是我的第一个想法,但除非您对obj满意,否则需要类型参数和强制转换。 -
@Chuck Norris - 意思是'我不能......即使我非常努力'
标签: c# arrays f# extension-methods