【发布时间】:2014-03-12 01:15:59
【问题描述】:
检查一个值是否是一组值中的一个的最简单方法是什么?
例如。
if (new List<CustomerType>{CustomerType.Overseas, CustomerType.Interstate}.Contains(customerType))
{
// code here
}
【问题讨论】:
-
您可以考虑
HashSet而不是List,但是您的样本有什么问题? -
@GrantWinney:有没有更短的方法?
-
@GrantWinney 是的,有一种更快的方法。 HashSet 是一种更快的包含集合。
-
@Blam 在验证了我的时间后
List比我最初测量的要慢得多,所以List几乎无法击败/匹配HashSet0-2 个项目(代码发布在下面) -所以HashSet是更好的选择。像往常一样 - 永远不要猜测性能数字......感谢您的乐趣。 -
@GrantWinney List 和 HashSet 都包含不是 LINQ 扩展的方法。他们在不使用 Systems.linq 的情况下工作;