【发布时间】:2014-07-02 07:19:47
【问题描述】:
我有一个接受字符串的方法,我想根据字符串之前是否记录过返回真或假。
到目前为止,我有如下:
string one = "abc";
string two = "def";
string three = "ghi";
MethodOne(string s)
{
if (s == one || s == two || s == three)
return true;
else
return false;
}
现在有没有更简单的方法来简化这个而不使用大量 ||和单字符串检查?
最好把它放在一个字符串数组中并使用
if (array.contains(s))
或类似的东西,其中 array 是要检查的字符串列表?
【问题讨论】:
-
array.Contains(s)有什么问题?检查给定项目是否与数组中的某个项目匹配的最简单方法。你仍然找不到更好的选择 -
是的,我想这会很好,但只是想知道是否还有其他选择?这更多是因为我刚刚学习 c#,并且对其他的做事方式感到好奇。
-
"将它放在一个字符串数组中并只使用 array.contains 会更好吗?"只有你知道它是否对你更好。
-
@SamIAm 老实说,如果您只是在学习,我会将精力集中在其他领域,而不是简化 3 个布尔
||运算符... -
您可以使用集合而不是单个字段吗?这三个变量是固定的还是您预计将来会有更多变量?您可以使用数组或列表,甚至是哈希集或字典。如果是这样,您应该使用
Contains或Any(对于没有Equals的复杂对象)。