枚举所有布尔
本文关键字:布尔 枚举 | 更新日期: 2023-09-27 18:29:20
自己做这件事没什么大不了的,但我很好奇C#是否会在任何地方给我这个:
public static IEnumerable<bool> AllBools {
get {
yield return false;
yield return true;
}
}
这是代码,可能比您想要的有点笨拙,但它可以工作:
public static IEnumerable<bool> BoolValues {
get {
return new bool[]{true, false};
}
}
编辑:如果你想让代码枚举枚举的所有值(这会更有用,imo),这里还有代码:
public enum TrueOrFalse
{
True,
False
}
public static IEnumerable<TrueOrFalse> BoolValues {
get {
List<TrueOrFalse> allValues = new List<TrueOrFalse>();
foreach (var value in Enum.GetValues(typeof(TrueOrFalse))){
allValues.Add((TrueOrFalse)(value));
}
return allValues.AsEnumerable();
}
}
更简单的是,如下所示(如何在C#中获得所有枚举值的数组?):
List<TrueOrFalse> valuesAsList = Enum.GetValues(typeof(TrueOrFalse)).Cast<TrueOrFalse>().ToList();