|
|
1
11
有几个很好的理由:
|
|
|
2
7
如果您希望您的代码更“可读”,那么也许VB是一个更好的选择。有这样的说法是完全正确的
我个人发现的c#语法!和&&和| |非常可读,因为它们在许多语言中是一致的,而且也倾向于遵循数学中使用的惯例,这些运算通常起源于这些惯例。 这也意味着没有含糊不清的含义,因为它是一个符号。 |
|
|
3
1
一句话,问题在于复杂性。从可用性的角度来看,你不想把开发人员和做同一件事的多种方法混为一谈。从编译器的角度来看,标记越多,性能就越差。很明显,多一个代币不会有什么不同,但想想其他人可能要求的所有其他裁员。最好强迫每个人都以同样的方式做事。至少这样,我们一定会继续回到堆栈溢出! |
|
4
0
我有一个有趣的想法。通常你想使用语言的属性。如果有一个正规形式的逻辑表达式,其中逻辑运算的Polish树中的主运算符是AND(&),第一个操作数是false,则该语言不会计算其他操作数的值。类似地,如果逻辑运算的Polish树中的主运算符是OR(| |),并且第一个运算符为true,则不会计算其他操作数。我们来看几个例子
上述方法检查一个变量是否从给定的象棋位置导致将死,并且将死是以一定的层数给出的。Position是一个类,它的makeMove()方法在给定的位置进行移动,如果最后一次移动有效,它的getSuccessOfLastMove()为true,如果最后一次移动无效,它的getSuccessOfLastMove()为false。搬家是另一门课。Ply是国际象棋中的一个半步(move=白棋和黑棋,Ply=白棋或黑棋)。isCheckMate检查给定位置是否为将死。
但是,这里我们要计算所有操作数: //... 黄花 返回(((花色== 花。黄色)或者 (花色== 花。淡黄色))以及 (花色变黄())); //... 上面的代码不是有效的C#代码,但让我们看看为什么需要C#中的OR。 在上面的例子中,我们想运行setColorToYellowIfTheCollorIsYellowish(),即使我们在计算函数之前知道整个计算的结果,但是代码不起作用,因为我们没有计算所有操作数的OR操作,即使我们知道结果。如果这是可能的,我们就不能用另一种方式编写函数。
//... 与我认为的第二个例子相比,这是令人厌恶的。如果我们有一个“或”和一个“和”运算符,它没有经过优化,不管怎样都会计算所有的操作数,那么语言会更丰富,有一个特性,但是,没有这些运算符我们可以生存,因为我们在需要时有替代的解决方案,这是一个非常罕见的情况。
在我看来我们不应该改变主意!、| |、&、&和|运算符,因为所有的程序员都习惯了它们。如果在C#中更改它们,则该语言将不具有向后兼容性。
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |