c# - 如果 var 不是 4 个值中的任何一个,我可以做一个 while 循环吗?
问题描述
首先很抱歉这个问题听起来很愚蠢(刚开始编程),而且我的英语不太好。
所以,我想制作一个当 var 不是 4 个字符串值中的任何一个时激活的 while 循环。像这样的东西:
while(var != ["str1", "str2", "str3", "str4"]){
我想知道如何写它,或者用另一种方式来做。谢谢。
解决方案
如果您的字符串是硬编码的,那么执行此操作的“愚蠢”方法是:
while (var != "str1" && var != "str2"...) {
如果字符串是集合的一部分,您可能会使用collection.Contains(var)
或类似的东西。
另一种方法是扩展方法:
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")
。
推荐阅读
- javascript - 如何使用反应钩子验证表单?
- javascript - 命名为“名称”的 Javascript 数组变量在存储字符串时显示意外结果
- math - 如何从确定圆是否与线碰撞的函数中提取角度?
- reactjs - 如何在将数据插入数据库时显示正在加载...?
- sqlite - 如何查询表 A,连接来自 B *和 * 来自 C 的字段仅在 B 中引用的字段?
- javascript - React 在 setState 之后不会重新渲染组件
- c++ - 如何将密码 c 转换为其以 256 为底的唯一 k 位表示?
- python - Django:ValueError 表 allauth_socialapp 不存在
- python - 值无法在条形图上正确显示
- typescript - 除非“--module”标志是“amd”或“system”,否则无法使用选项“outFile”编译模块