是否有一种简单的方法可以检查更长的字符串是否包含使用C#的枚举的一个已定义部分
例如,我有以下枚举:
enum myEnum
{
this,
is,
an,
enum
};
我有这样一个字符串:
string myString = "here I have a sample string containing an enum";
因为字符串包含关键字enum
,我想在字符串中找到它。
所以我需要一个像string.contains(myString,myEnum)
这样的函数。然后这个函数应该是真或假。
当然,我可以比较枚举中的每个值 - 但可能有一种更简单的方法......
我怎样才能做到这一点?
答案 0 :(得分:7)
你的妈妈......
public enum MyEnum
{
@this,
@is,
an,
@enum
}
......检查...
var myString = "here I have a sample string containing an enum";
var found = Enum.GetNames(typeof(MyEnum)).Any(e=>myString.Contains(e));
答案 1 :(得分:2)
首先,获取枚举
的所有字符串值List<string> s = new List<string>(Enum.GetNames(typeof(myEnum)));
然后,检查是否存在!
s.Any(s=> myString.Contains(s));