如何解决我怎么说不是,不是
我不想说:(trsaz != v1) && (trsaz != v2) && ...
我想要类似的东西:
trsaz != (v1,v4,v7,v11)
除了ѭ2or之外,这是否可能?
解决方法
var badList = new[] { v1,v4,v7,v11 };
var result = !badList.Contains(trsaz);
, var excludeList = new[] { \"v1\",\"v4\",\"v7\",\"v11\" };
if(!excludeList.Contains(trsaz))
{
...
}
, 实际上,我更喜欢为此创建一个扩展方法:
public static bool IsIn<T>(this T obj,params T[] set) {
return set.Any(el => element.Equals(obj));
}
它封装了所有的黑魔法,并使您的代码真正简洁,这显然是您的目标:
if (!trsaz.IsIn(v1,v11)) {
// ...
}
如果该机制不重要,则最好将其隐藏起来,尤其是在这种情况下,根本不需要使用任何机制,这会使一些维护您代码的人感到困惑。
, var result = (new[] {v1,v7}).Every(o => o != trsaz);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。