我正在使用Resharper查看类System.Single
的CompareTo方法,发现这是实现:
public int CompareTo(float value)
{
if ((double) this < (double) value)
return -1;
if ((double) this > (double) value)
return 1;
if ((double) this == (double) value)
return 0;
if (!float.IsNaN(this))
return 1;
return !float.IsNaN(value) ? -1 : 0;
}
为什么演员阵容?
我不知道resharper是否显示反编译版本或确切的源代码,但这里是截图。
您也可以看到其他方法也这样做。
编辑:在打开的文档的顶部,它说它是反编译版本
// Decompiled with JetBrains decompiler
// Type: System.Single
// Assembly: mscorlib, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
// MVID: 2E305EDD-3CCB-4D57-A152-462A7A1E3C46
// Assembly location: C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll
编辑2:我使用ildasm.exe反编译,如JonSkeet所示,这是它显示的IL代码。似乎Resharper正在展示没有任何IL指令的演员。