如果var不是4个值中的任何一个,是否可以进行while循环?

问题描述 投票:0回答:1

首先对这个问题听起来很愚蠢(刚开始编程)感到抱歉,我的英语不是很好。

所以,我想做一个while循环,当var既不是4个字符串值中的任何一个时,它都会激活。像这样的东西:while(var != ["str1", "str2", "str3", "str4"]){而且我想知道如何编写它,或者另一种方式来实现它。谢谢。

c# while-loop var
1个回答
0
投票

如果您的字符串是硬编码的,则执行此操作的“愚蠢”方法是:

while (var != "str1" && var != "str2"...) {

如果字符串是集合的一部分,则可以使用collection.Contains(var)或类似的东西。

另一种方法是extension method

    public static bool In<T>(this T t, params T[] array)
    {
        for (int i = 0; i < array.Length; i++)
        {
            if (t.Equals(array[i]))
            {
                return true;
            }
        }

        return false;
    }

然后您可以只执行var.In("str1", "str2", "str3", "str4")


0
投票

就像您一样,刚接触编程

while(condition1 && condition2 && ....)应该很清楚。

但是如果字符串的数量成倍增加编写一个返回true或false的函数,并将其作为while循环的条件进行调用防爆功能(val){// SOS仅当不等于所有字符串时才返回true其他返回false

}并在while循环中

while(function(v))

© www.soinside.com 2019 - 2024. All rights reserved.