如何快速查找我的enum obj并找出enum obj包含/不包含其他输入成员?
public enum myen
{
S1,
S2,
S3,
}
other member like s2 or s4.
intput s2 -> true; // included
input s4 -> false; // not include
答案 0 :(得分:2)
Enum.IsDefined或根据你的输入使用Enum.GetNames。
// => true
Console.WriteLine( Enum.GetNames(typeof(myen)).Any(member => member.Equals("S3")) );
Console.WriteLine( Enum.IsDefined(typeof(myen), "S3" ));
Console.WriteLine( Enum.IsDefined(typeof(myen), 2 ));
// => false
Console.WriteLine( Enum.GetNames(typeof(myen)).Any(member => member.Equals("S4")) );
Console.WriteLine( Enum.IsDefined(typeof(myen), "S4" ));
Console.WriteLine( Enum.IsDefined(typeof(myen), 3 ));
答案 1 :(得分:2)
我建议您编写自己的Enum.IsDefined()
版本,该版本基于泛型,并缓存结果而不是装箱和取消装箱值;这可能导致您在问题中说明的“快速”查询。