本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

String.Contains 方法 (String)

 

发布日期: 2016年7月

返回一个值,该值指示指定的子串是否出现在此字符串中。

命名空间:   System
程序集:  mscorlib(位于 mscorlib.dll)

public bool Contains(
	string value
)

参数

value
Type: System.String

要搜寻的字符串。

返回值

Type: System.Boolean

如果 true 参数出现在此字符串中,或者 value 为空字符串 (""),则为 value;否则为 false

Exception Condition
ArgumentNullException

valuenull

此方法执行序号 (区分大小写和不区分区域性) 比较。 搜索此字符串的第一个字符位置开始,并持续到最后的字符位置。

确定字符串是否包含指定的子字符串,通过使用序号比较 (如区分区域性的比较或不区分大小写的序号比较) 以外,你可以创建的自定义方法。 下面的示例演示一个此类方法。 它定义String包括的扩展方法StringComparison参数,表明使用指定的窗体的字符串比较时,一个字符串是否包含子字符串。

using System;

public static class StringExtensions
{
   public static bool Contains(this String str, String substring, 
                               StringComparison comp)
   {                            
      if (substring == null)
         throw new ArgumentNullException("substring", 
                                         "substring cannot be null.");
      else if (! Enum.IsDefined(typeof(StringComparison), comp))
         throw new ArgumentException("comp is not a member of StringComparison",
                                     "comp");

      return str.IndexOf(substring, comp) >= 0;                      
   }
}

下面的示例然后调用Contains扩展方法来确定使用序号比较和不区分大小写的序号比较时是否在字符串中找到子字符串。

using System;

public class Example
{
   public static void Main()
   {
      String s = "This is a string.";
      String sub1 = "this";
      Console.WriteLine("Does '{0}' contain '{1}'?", s, sub1);
      StringComparison comp = StringComparison.Ordinal;
      Console.WriteLine("   {0:G}: {1}", comp, s.Contains(sub1, comp));

      comp = StringComparison.OrdinalIgnoreCase;
      Console.WriteLine("   {0:G}: {1}", comp, s.Contains(sub1, comp));
   }
}
// The example displays the following output:
//       Does 'This is a string.' contain 'this'?
//          Ordinal: False
//          OrdinalIgnoreCase: True

如果你感兴趣的子字符串的位置value在当前实例中,你可以调用IndexOf方法以获取其第一个匹配项,或你的起始位置可以调用LastIndexOf方法以获取其最后一个匹配项的起始位置。 该示例包括调用IndexOf(String)方法,如果在字符串实例中找到子字符串。

下面的示例确定字符串"fox"是否熟悉引号的子字符串。 如果字符串中找到"fox",它还显示它的起始位置。

using System;

class Example
{
    public static void Main() 
    {
       string s1 = "The quick brown fox jumps over the lazy dog";
       string s2 = "fox";
       bool b = s1.Contains(s2);
       Console.WriteLine("'{0}' is in the string '{1}': {2}",
                          s2, s1, b);
       if (b) {
          int index = s1.IndexOf(s2);
          if (index >= 0)
             Console.WriteLine("'{0} begins at character position {1}",
                               s2, index + 1);
       }
    }
}
// This example display the following output:
//    'fox' is in the string 'The quick brown fox jumps over the lazy dog': True
//    'fox begins at character position 17

通用 Windows 平台
自 8 起可用
.NET Framework
自 2.0 起可用
可移植类库
可移植 .NET 平台 中受支持
Silverlight
自 2.0 起可用
Windows Phone Silverlight
自 7.0 起可用
Windows Phone
自 8.1 起可用
返回页首
显示: