C#中bool与Boolean有什么区别?string和String区别?
1. bool是基本值类型,Boolean 是对象.
2. bool是Boolean的别名.bool是C#中的,Boolean是.net Framework中的。
bool是内置 C# 类型的关键字,这些类型是 System 命名空间中的预定义类型的别名。
Boolean是类,bool是它的别名。
用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就像你的学名。大家都认识。不过不管按照学名还是乳名称呼你,最终的目的是一样的,还是你这个人。
http://msdn.microsoft.com/zh-cn/library/ya5y69ds(v=vs.100).aspx
3.bool这个乳名更通用!!
bool是C#,那么只要是C#语言就都能识别.bool,而Boolean是.net Framework中的,那么就和net Framework的版本相关了,所以应该尽量使用bool,无论在哪个net Framework的版本下都能用
对于String和string的关系也是如此。