簡體   English   中英

.net-core 中 Int32 的真正實現在哪里

[英]where is the real implementation of Int32 in .net-core

我從github克隆了dotnet core的代碼,想看一下System.Int32的src代碼,結果發現Int32的代碼真的好奇怪。

public partial struct Int32 : System.IComparable, System.IComparable<int>, System.IConvertible, System.IEquatable<int>, System.IFormattable
{
    public const int MaxValue = 2147483647;
    public const int MinValue = -2147483648;
    public int CompareTo(int value) { return default(int); }
    public bool Equals(int obj) { return default(bool); }
    public override bool Equals(object obj) { return default(bool); }
    public override int GetHashCode() { return default(int); }
    public static int Parse(string s) { return default(int); }
    public static int Parse(string s, System.Globalization.NumberStyles style) { return default(int); }
    public static int Parse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider) { return default(int); }
    public static int Parse(string s, System.IFormatProvider provider) { return default(int); }
    int System.IComparable.CompareTo(object value) { return default(int); }
    System.TypeCode System.IConvertible.GetTypeCode() { return default(System.TypeCode); }
    bool System.IConvertible.ToBoolean(System.IFormatProvider provider) { return default(bool); }
    byte System.IConvertible.ToByte(System.IFormatProvider provider) { return default(byte); }
    char System.IConvertible.ToChar(System.IFormatProvider provider) { return default(char); }
    System.DateTime System.IConvertible.ToDateTime(System.IFormatProvider provider) { return default(System.DateTime); }
    decimal System.IConvertible.ToDecimal(System.IFormatProvider provider) { return default(decimal); }
    double System.IConvertible.ToDouble(System.IFormatProvider provider) { return default(double); }
    short System.IConvertible.ToInt16(System.IFormatProvider provider) { return default(short); }
    int System.IConvertible.ToInt32(System.IFormatProvider provider) { return default(int); }
    long System.IConvertible.ToInt64(System.IFormatProvider provider) { return default(long); }
    sbyte System.IConvertible.ToSByte(System.IFormatProvider provider) { return default(sbyte); }
    float System.IConvertible.ToSingle(System.IFormatProvider provider) { return default(float); }
    object System.IConvertible.ToType(System.Type type, System.IFormatProvider provider) { return default(object); }
    ushort System.IConvertible.ToUInt16(System.IFormatProvider provider) { return default(ushort); }
    uint System.IConvertible.ToUInt32(System.IFormatProvider provider) { return default(uint); }
    ulong System.IConvertible.ToUInt64(System.IFormatProvider provider) { return default(ulong); }
    public override string ToString() { return default(string); }
    public string ToString(System.IFormatProvider provider) { return default(string); }
    public string ToString(string format) { return default(string); }
    public string ToString(string format, System.IFormatProvider provider) { return default(string); }
    public static bool TryParse(string s, System.Globalization.NumberStyles style, System.IFormatProvider provider, out int result) { result = default(int); return default(bool); }
    public static bool TryParse(string s, out int result) { result = default(int); return default(bool); }
}

Int32的所有方法都只是返回默認值,那么哪里可以找到System.Int32的真正實現呢?

.net 中幾乎所有數據類型都是CLR的一部分,因此您可以在 coreclr 項目中找到數據類型的實現。

核心CLR

在項目中,我在這個鏈接找到了System.Int32的實現。 System.Int32 源代碼

我想,這就是你想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM