int
是Int32
的别名,也是C#语言规范中的关键字。
Reference Source有以下代码:
[Serializable]
[System.Runtime.InteropServices.StructLayout(LayoutKind.Sequential)]
[System.Runtime.InteropServices.ComVisible(true)]
#if GENERICS_WORK
public struct Int32 : IComparable, IFormattable, IConvertible
, IComparable<Int32>, IEquatable<Int32>
/// , IArithmetic<Int32>
#else
public struct Int32 : IComparable, IFormattable, IConvertible
#endif
{
internal int m_value;
public const int MaxValue = 0x7fffffff;
public const int MinValue = unchecked((int)0x80000000);
Int32
封装了int
。有人可以解释为什么别名在内部用于别名的定义吗?这与长指向Int64
然后Int64
声明long
变量相同。我认为这是编译器的特权是做它喜欢的事情而int
总是意味着32位内存位置,这只是添加方法的一种方式,但它让我烦恼。