我无法对性能发表评论(因为你需要进行性能分析等) - 但这里有一个有趣的变化是受限制的操作码,特别是泛型.这里的优点是对于以下方法:
static void DoSomething<T>(T x, T y) where T : IComparable<T>
{
if(x.CompareTo(y) < 0) { /* whatever */ }
}
Run Code Online (Sandbox Code Playgroud)
它将使用一个受约束的呼吁CompareTo,这使得它能够或者使用静态呼叫到一个数值类型的方法的实现(没有拆箱),或使用一个虚拟呼叫,如果它是一个引用类型.通常,在值类型上调用基于接口的方法需要一个框,因此这非常有用.
| 归档时间: |
|
| 查看次数: |
1093 次 |
| 最近记录: |