天天看點

C#中bool與Boolean有什麼差別?string和String差別?

1. bool是基本值類型,Boolean 是對象.

2. bool是Boolean的别名.bool是C#中的,Boolean是.net Framework中的。

出于對Boolean的好奇,我用Reflector反彙編了下mscorlib.dll,得到Boolean的源代碼,看到了下面的内容:

public struct Boolean : IComparable, IConvertible, IComparable<bool>, IEquatable<bool>
    {
        private bool m_value;
        //省略其他成員的定義.....
     }

MSDN中解釋bool與Boolean的關系是:“bool 關鍵字是 System.Boolean 的别名”.實際使用無任何差别。它們的成員也是一樣的。
最後總結:bool就像你的乳名,你爹媽以及你們内部所屬成員都認識,Boolean就像你的學名。大家都認識。不過不管按照學名還是乳名稱呼你,最終的目的是一樣的,還是你這個人。

對于String和string的關系也是如此。