gpt4 book ai didi

c# - 如果它总是与同一事物进行比较,有没有办法缩短条件?

转载 作者:太空狗 更新时间:2023-10-30 00:00:11 25 4
gpt4 key购买 nike

当我需要编写一个条件来一遍又一遍地比较同一个项目时,我总是觉得很烦人,因为我会多次输入该项目:

string x = textBox1.Text;

if (x == "apple" || x == "orange" || x == "banana" ...)
...

我想要这样的东西(当然这不是正确的语法):

if (x == "apple" || "orange" || "banana" ...)

除了使用字符串数组之外,还有其他解决方案吗?

最佳答案

你的条件说:如果我匹配任何预定义的值,我就是真的。换句话说,如果我是预定义集合的一个元素,它在语义上是 Contains方法:

if (new [] { "apple", "orange", "banana" }.Contains(x))
{

}

使用数组在未来提供了更多的灵 active 。您可以提取它、重用它、存储它、缓存它等。当我必须处理超过 2 个已知值时,我总是使用“数组和循环”。

注意:正如 Scott Chamberlain 在使用 HashSet<T>.Contains 的评论中指出的那样大大提高了性能:

var values = new HashSet<string> { "apple", "banana", "orange" };
if (values.Contains(x))
{

}

关于c# - 如果它总是与同一事物进行比较,有没有办法缩短条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11637988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com