Perché Int32
utilizza int
nel suo source code? Non Int32
uguale a int
in C#? Quindi qual è il codice sorgente originale per int
? Sono confuso ..Perché `Int32` usa` int` nel suo codice sorgente?
[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; // Here????
public const int MaxValue = 0x7fffffff;
public const int MinValue = unchecked((int)0x80000000);
...
}
c'è la stessa questione tra Boolean
e bool
troppo.
Int32 è 'struct'. Esso contiene i metodi e gli elementi per manipolare int, int è il tipo di dati definito dal sistema. –
Questo * è * il codice sorgente originale per 'int'. Alcuni degli effettivi meccanismi interni sono parte del compilatore e del runtime, ma nella misura in cui esiste un codice sorgente, quello è il codice sorgente. – hvd
Forse un duplicato: http://stackoverflow.com/questions/16113850/if-int32-is-just-an-alias-for-int-how-can-the-int32-class-use-an-int Relativo solo : http://stackoverflow.com/questions/18018281/regarding-primitive-data-types-in-c-sharp –