C#中bool与Boolean有什么区别?string和String区别?
转自:http://hi.baidu.com/%CA%B8%C8%D0/blog/item/7d3392f883d4ecd5b48f31dc.html
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的关系也是如此。