检查字符串是否包含枚举的至少一部分

时间:2017-01-24 21:15:58

标签: c# enums

是否有一种简单的方法可以检查更长的字符串是否包含使用C#的枚举的一个已定义部分

例如,我有以下枚举:

enum myEnum
{
   this,
   is,
   an,
   enum
};

我有这样一个字符串:

string myString = "here I have a sample string containing an enum";

因为字符串包含关键字enum,我想在字符串中找到它。

所以我需要一个像string.contains(myString,myEnum)这样的函数。然后这个函数应该是真或假。 当然,我可以比较枚举中的每个值 - 但可能有一种更简单的方法......

我怎样才能做到这一点?

2 个答案:

答案 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));