C#结合条件

时间:2011-08-25 19:56:02

标签: c# c#-4.0 if-statement conditional

if (thedata[m].ToUpper() == thedata[m] && thedata[m].Contains(" ") || (thedata[m - 1] == "" && thedata[m].Contains(Speaking)))

有没有办法将其合并为一个Contains(),而不是重写Contains()以外的所有内容?

是否可以使用string[]来完成,其中我想要放入Contains()的每个字符串都是自己的字符串?

这些可以合并,如果是,如何?

1 个答案:

答案 0 :(得分:1)

没有开箱即用。 String.Contains没有为此目的重载。

您可以做的是自己编写扩展方法,以便可以多次使用它。

public static class StringExtensions
{
      public static bool Contains(this string input, params string[] queries)
      {
           foreach (string s in queries)
           {
                if (!input.Contains(s)) return false;
           }

           return true;
      }
}

之后你可以简单地调用

if (thedata[m].Contains(" ", "Speaking")) && {rest of your expression})