Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
4年前关闭。
我希望能够比较如下的整数和字符串:
不幸的是,C#不会编译它(我不确定C)。
有什么想法可以解决这个问题,为什么C#团队不允许这种简单的语法? (而不是像
作为一个单独的查询,if(someValue ==(5 || 6 || 7 || 8))怎么了,而不必一直说
*********编辑:
正如某人在评论中所说,由于优先级问题,使用布尔逻辑时
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
4年前关闭。
我希望能够比较如下的整数和字符串:
if(a==b==c==d==e)
不幸的是,C#不会编译它(我不确定C)。
有什么想法可以解决这个问题,为什么C#团队不允许这种简单的语法? (而不是像
a==b && a==c && a==d && a==e
这样麻烦的东西)。作为一个单独的查询,if(someValue ==(5 || 6 || 7 || 8))怎么了,而不必一直说
someValue==5 || someValue==6 || etc. etc.
?显然,.NET将1个或多个视为“ true”,但是我认为我们应该用较短的语法替换该范例,以简化代码的读写。*********编辑:
正如某人在评论中所说,由于优先级问题,使用布尔逻辑时
a==b==c==d==e
会出现问题(例如:(false==false) == false
)。但是,使用整数或字符串时不会出现此类问题。 最佳答案
您基本上需要检查所有变量是否具有相同的值?在它们成为原始类型(int,string,double等)之前,您可以将它们放入不同的集合中,并检查它是否仅包含一个元素,如下所示:
var collection = new[] {a,b,c,d,e};
if(collection.Distinct().Count() == 1)
{
// means a==b==c==e
}
关于c# - C和C#条件语句的语法更简单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29432611/
10-09 20:41