有没有一种简单的方法可以测试您是否匹配一组枚举?

编程入门 行业动态 更新时间:2024-10-04 21:20:05
本文介绍了有没有一种简单的方法可以测试您是否匹配一组枚举?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

考虑此代码...

switch(testValue) { case .ValueA, .ValueB, .ValueC: return 40 default: return 0 }

现在,如果我只是检查一个枚举值,我可以这样做...

Now if I was just checking for a single enumeration value, I could do this...

return (testValue == .ValueA) ? 40 : 0;

但是我想知道如何获得类似于后者的东西,但是要像前者那样测试倍数,类似于此伪代码...

But I'm wondering how I can have something like the latter, but testing for multiples like the former, similar to this pseudo-code...

return (testValue is in [.ValueA, .ValueB, .ValueC]) ? 40 : 0;

我知道我可以使用内联数组来做到这一点,

I know I can do it with an inline array, like so...

return ([SomeEnum.ValueA, .ValueB, .ValueC].Contains(testValue)) ? 40 : 0;

...但是我希望有一些更清洁的东西.有吗?

...but I'm hoping there's something even cleaner. Is there?

推荐答案

extension SomeEnum { func isOneOf(values: Value...) -> Bool { return values.contains(self) } }

返回testValue.isOneOf(.ValueA,.ValueB,.ValueC)吗?40:0

更多推荐

有没有一种简单的方法可以测试您是否匹配一组枚举?

本文发布于:2023-11-29 02:07:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1644869.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:简单   您是否   测试   方法

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!