c# 中 bool 与 Boolean 什么有什么区别

liwhsh 2008-10-28 03:45:33
加精
c# 中 bool 与 Boolean 什么有什么区别
...全文
20537 310 打赏 收藏 转发到动态 举报
写回复
用AI写文章
310 条回复
切换为时间正序
请发表友善的回复…
发表回复
Keep_Silence_ 2012-08-20
  • 打赏
  • 举报
回复
好吧,此次论战很精彩,受教了。
言多必失 2012-08-06
  • 打赏
  • 举报
回复
标记一下
larissa523 2012-08-06
  • 打赏
  • 举报
回复
学习了。
yojinlin 2012-08-06
  • 打赏
  • 举报
回复
學習了。
yesterday5100 2012-07-31
  • 打赏
  • 举报
回复
孩子,你还记得4年前的那场大战吗?

学习了
Anod 2012-07-11
  • 打赏
  • 举报
回复
这个帖子呵呵 挺那个的。。

个人作为才转入C#的小菜鸟,看了前几十楼的帖子,发觉好多人有以下几点:

第一,效率概念模糊,编译效率和执行效率不应该混为一谈,别名在编译时肯定是要转换为原名的,这个在使用量多的时候肯定会影响编译效率,但是查看编译后的程序,或者说看生成的IL代码,是可以确定程序的执行行为是相同的,其不同编译时已经被转换从而消除。
第二,发表言论被多人辩论时应该动手一个简单程序或者msdn搞定,而不是依据经验继续误导,虽然真理在辩论中胜出,但高明的辩论技巧更容易使自己胜出。
第三,看辩论者的帖子要看完看仔细,只看一半会导致自己没找到对方的辩论重点在哪里,会让自己全军覆没的。即使自己的一些论证很有道理,也无用,每个人都会在辩论中修正自己观点中的小错错,当所有观点都正确时,真理就在他手中了。

本帖子确实让俺记住了空军,不过刚看帖子也被星星们的言论给弄的迷糊,本来清除的知道string是引用类型,看了开头的帖子竟然怀疑自己了,,,,后面自己边看帖便动手看IL和MSDN,才算弄明白,呵呵,学了不少东西。
qaz231564 2012-06-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用 1 楼 js1722 的回复:
1. bool是基本值类型,Boolean 是对象.
2. bool是Boolean的别名.bool是C#中的,Boolean是.net Framework中的。


1. 错,bool 和 Boolean 是同样的,正如2所说,bool是Boolean的别名.
2. 对。
[/Quote]
学习了
skylineeeeee 2012-05-21
  • 打赏
  • 举报
回复
[Quote=引用 154 楼 的回复:]

引用 148 楼 xpnew 的回复:
引用 147 楼 ojlovecd 的回复:
引用 141 楼 lovefootball 的回复:
引用 139 楼 xpnew 的回复:
讨论来讨论去,结论就是MSDN上那样:
bool是System.Boolean的别名。

结论很简单,但是这个过程很意义。
谢谢天空,我可以确定了,从这个帖子开始,我记住了一个CSDN上的人:天空!
……
[/Quote]
可怜的空军~~~``
skylineeeeee 2012-05-21
  • 打赏
  • 举报
回复
[Quote=引用 154 楼 的回复:]

引用 148 楼 xpnew 的回复:
引用 147 楼 ojlovecd 的回复:
引用 141 楼 lovefootball 的回复:
引用 139 楼 xpnew 的回复:
讨论来讨论去,结论就是MSDN上那样:
bool是System.Boolean的别名。

结论很简单,但是这个过程很意义。
谢谢天空,我可以确定了,从这个帖子开始,我记住了一个CSDN上的人:天空!
……
[/Quote]
可怜的空军~~~``
Jimmy-G 2012-04-20
  • 打赏
  • 举报
回复
[Quote=引用 78 楼 的回复:]

星星并不代表什么权威,星星只代表在论坛上回答别人的问题多些,勤快些。

只要努力,多帮助别人,你也可以成为星星。(你看,现在论坛上星星何其多)
[/Quote]

说的好,你应该是那种就事论事,不会摆谱的人。

有思才又辩,有辩才有思!

我们就是在辩论中思索,在思索中进步。。。
a34417 2011-12-29
  • 打赏
  • 举报
回复
看了下 真不错
yojinlin 2011-12-29
  • 打赏
  • 举报
回复
學習了。
larissa523 2011-12-29
  • 打赏
  • 举报
回复
学习了。
somenet 2011-12-27
  • 打赏
  • 举报
回复
学习 !
论战好精彩! 来晚了三年!!!!
[Quote=引用 81 楼 wuyi8808 的回复:]

讲到基础的东东,推荐两本书(至少我受益非浅):

《.NET本质论》



《框架设计(第2版) CLR Via C#》
[/Quote]
eodsafma 2011-12-03
  • 打赏
  • 举报
回复
谢谢,学习了~~~
安得权 2011-11-24
  • 打赏
  • 举报
回复
System.Boolean 是.NET Framework 中的类型。
bool 是C#的类型
在C#中bool 是 System.Boolean 的别名。
System.Boolean 在.NET 平台下的所有语言都通用,可以理解为.NET平台下的基础类型。
没有性能上的优劣之分
大蛮 2011-11-16
  • 打赏
  • 举报
回复
3年了 还不结贴啊
Eric_Jiang 2011-11-15
  • 打赏
  • 举报
回复
学习……
PaulyJiang 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 wuyi8808 的回复:]
引用 22 楼 superplayboy 的回复:
补充一下。。。
所有的值类型在c#里都不超过16 bytes,除了string
实际上,string就是String,严格来说string并不是值类型。。。

因为值类型在编程上的便利,因此微软特别地将String放进值类型里,string实际上是一个语法糖(syntax sugar),所以msdn上会说string是String……
[/Quote]

string和String 和其他的不一样
Lang_XiHa 2011-11-03
  • 打赏
  • 举报
回复
mark
加载更多回复(285)
赋所有源代码,开发工具vs2010 framework3.5 baidu搜索c# HidUsb都是大同小异案例,而且拿下来基本不能用。大都是围绕public static extern int CreateFile(省略众多参数..);发现没有,copy下来测试基本都是用不了的。 原因很简单:windows不允许你用程序随便就去访问硬件设备。所以在此把之前做过的基于C#开发读写HidUsb设备的项目整理成一个简单的小案例,分享给大家,开发环境VS2010。 该案例重点在public static extern SafeFileHandle CreateFile(string lpFileName, uint dwDesiredAccess, int dwShareMode, IntPtr lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, int hTemplateFile); 看着貌似也是用到CreateFile这个函数,其实并不然,注意到没有"SafeFileHandle",这就是重点! 这样windows是允许程序访问外接hidusb设备的。 当然具体如何运用这个函数现在已经不是您应该 关心的了,因为我已经为您把它封装成一个类,您只要调用相应的方法就OK. 例: //第一步:获取HidUsb设备信息 List slist = new List(); UsbHidDevice usbhid = new UsbHidDevice(); usbhid.GetDeviceList(ref slist); //HidUsb设备信息包含在List数据集 注:当获取到HidUsb设备信息为:\\?\hid#vid_0e2c&pid;_0112#6&1b44c403;&0&0000;#{4d1e55b2-f16f-11cf-88cb-001111000030}, 注意该字符串里的“vid_0e2c”和“pid_0112”部分,那么: vid为0e2c, pid为:0112 //第二步:创建一个HidUsb设备访问实例 UsbHidDevice Device = new UsbHidDevice(vid, pid); //第三步:连接HidUsb设备 Boolean connBool = Device.Connect(); //第四步:实现数据接收事件 Device.DataReceived += new UsbHidDevice.DataReceivedDelegate(Device_DataReceived); //当HidUsb设备返回信息时触发此事件 void Device_DataReceived(byte[] data) { //处理接收到的数据逻辑 } //第五步:向Hid设备发送数据"0xa0 00 0x12 0x9 0x22" string txt = "0xa0 00 0x12 0x9 0x22"; //把数据转换为字节数组 byte[] data = ConvertHelper.StringToByte(txt2); byte bt = 0; CommandMessage cmdMsg = new CommandMessage(bt, data); Boolean sbool = Device.SendMessage(cmdMsg); //发送数据 //第六步:释放所有资源 Device.Dispose();

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧