|
1
26
|
|
|
2
22
在C语言中,整数经常被同时用作普通数和布尔值,例如在某个数字不为零时运行的循环。这显然有其简洁代码的优点,就像nave strlen例程一样:
据称,这种双重性质经常导致问题,并使代码可读性降低(因为您必须从上下文判断给定的用法是否
作为 Noldorin mentioned 或者自己滚
|
|
|
3
17
仅供参考,
这里的重点是,位表示对任何程序员来说都应该毫无意义。布尔值旨在用于特定目的(即标志),不应与int混合使用,否则变量的使用可能会变得相当混乱。 |
|
|
4
5
我认为问题不在于真/假或1/0,而在于决定让C#成为强类型语言而不是弱类型语言。强类型语言有很多好处(也有一些缺点)。其中一个好处是,它减少了由于误用(或不正确使用)表达式而导致的错误。 例如,
选择让C#成为强类型语言,对C#程序员来说意味着这些好处。即便如此,如果他们选择的话,他们本可以引入从bool到int(并返回)的转换。我怀疑他们没有这样做是因为可能会引入上述错误。 |
|
|
5
4
我们可以使用Convert。ToInt32的定义如下:
|
|
|
6
3
|
|
|
7
-1
|
|
|
8
-1
|
|
|
9
-2
你在这方面说得很好。但是,它确实删除了一个快捷方式。 使用c,可以通过代码“bBool=1-bBool”轻松完成切换。
相反,在C#中,我需要做一个条件来检查状态,然后将其设置为相反的状态,这会给机器和我带来更多的工作。 |