2017-01-24 14 views
0

の少なくとも一部が含まれている場合:チェック文字列が長い文字列は、私は、次の列挙型を持っているたとえばC#の</p> <p>を使用して列挙型の定義された部分の一つが含まれているかどうかを確認する簡単な方法があります列挙

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

と私はそのような文字列があります。

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

文字列がキーワードenumを含むされているので、私は、文字列の中にこれを見つけるしたいと思います。

だから、string.contains(myString,myEnum)のような機能が必要です。この関数はtrueまたはfalseを返します。 もちろん列挙型の各値を比較することもできますが、簡単な方法があるかもしれません...

どうすればこのことができますか?

答えて

6

あなたemum ...

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)); 
+0

私たちの答えが同じである@ChrsitophH、マシューは、わずか15秒で私を破りました。 –

+0

公正であれば、単にEnum.GetNames'の配列を使うのではなく、リストを作成します;) –

2

まず、存在するかどうかを確認し、その後、あなたの列挙型のすべての文字列値

List<string> s = new List<string>(Enum.GetNames(typeof(myEnum))); 

を入手!

s.Any(s=> myString.Contains(s)); 
関連する問題