-2

単語または単語のグループの文字列をテストする「if」ステートメントのようなものが必要です。単語が文字列に含まれている場合、コンソールに文字列が表示されます。

誰かがそれを助けることができれば、それは大歓迎です。

4

4 に答える 4

3

これはひどく聞かれる質問ですが。本能に逆らって答えてみます。

List<string>検索するビルド:

private List<string> _words = new List<string> { "abc", "def", "ghi" };

次に、次のような小さな拡張メソッドを作成します。

public static bool ContainsWords(this string s)
{
    return _words.Any(w => s.Contains(w));
}

したがって、次のように言うことができます。

myString.ContainsWords();

拡張クラス全体は次のようになります。

public static class Extensions
{
    private List<string> _words = new List<string> { "abc", "def", "ghi" };

    public static bool ContainsWords(this string s)
    {
        return _words.Any(w => s.Contains(w));
    }

    public static bool ContainsWords(this string s, List<string> words)
    {
        return words.Any(w => s.Contains(w));
    }
}

注:アプリケーションのニーズに応じて、2 番目の方法はより一般的です。拡張機能クラスからリストを取得するのではなく、注入できるようにします。ただし、アプリケーションが非常に特殊であるため、最初のアプローチがより適切である可能性があります。

于 2013-11-03T10:12:53.610 に答える
1

メソッドを使用しないのはなぜですか.Contains()....

string s = "i am a string!";
bool matched = s.Contains("am");
于 2013-11-03T10:10:51.290 に答える
0
String [] words={"word1","word2","word3"};
String key="word2";
for(int i=0;i<words.Length;i++)
{
if(words[i].Contains(key))
Console.WriteLine(words[i]);
}
于 2013-11-03T10:10:18.237 に答える
0

String.Contains次のような方法を使用できます。

string s = "helloHellohi";
string[] array = new string[] { "hello", "Hello", "hi", "Hi", "hey", "Hey", "Hay", "hey" };

foreach (var item in array)
{
   if(s.Contains(item))
     Console.WriteLine(item);
}

出力は次のようになります。

hello
Hello
hi

ここにdemonstration.

于 2013-11-03T10:12:30.533 に答える