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

String.StartsWith 方法 (String, StringComparison)

 

确定在使用指定的比较选项进行比较时此字符串实例的开头是否与指定的字符串匹配。

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

[ComVisibleAttribute(false)]
public bool StartsWith(
	string value,
	StringComparison comparisonType
)

参数

value
Type: System.String

要比较的字符串。

comparisonType
Type: System.StringComparison

枚举值之一,用于确定如何比较此字符串与 value

返回值

Type: System.Boolean

如果此实例以 true 开头,则为 value;否则为 false

Exception Condition
ArgumentNullException

valuenull

ArgumentException

comparisonType 不是 StringComparison 值。

StartsWith方法进行比较value参数与此字符串的开头处的子字符串并返回一个值,指示它们是否相等。 若要相等,value必须对此相同的字符串的引用,必须为空字符串 (""),或者必须与此字符串的开头匹配。 执行比较的类型StartsWith方法取决于值comparisonType参数。 比较可以使用当前区域性的约定 (StringComparison.CurrentCultureStringComparison.CurrentCultureIgnoreCase) 或固定区域性 (StringComparison.InvariantCultureStringComparison.InvariantCultureIgnoreCase),或可能包含的逐字符的码位比较 (StringComparison.OrdinalStringComparison.OrdinalIgnoreCase)。 比较也可以是区分大小写 (StringComparison.CurrentCultureStringComparison.InvariantCulture,或StringComparison.Ordinal),或者可以忽略大小写 (StringComparison.CurrentCultureIgnoreCaseStringComparison.InvariantCultureIgnoreCaseStringComparison.OrdinalIgnoreCase)。

下面的示例搜索字符串"the"开头的词开头的较长字符串"The"。 如示例所示,对的调用输出StartsWith(String, StringComparison)执行不区分区域性的但区分大小写的比较的方法无法与此字符串中,匹配时执行区域性-和写-insensitive 比较的调用与字符串匹配。

using System;

public class Example
{
   public static void Main()
   {
      String title = "The House of the Seven Gables";
      String searchString = "the";
      StringComparison comparison = StringComparison.InvariantCulture;
      Console.WriteLine("'{0}':", title);
      Console.WriteLine("   Starts with '{0}' ({1:G} comparison): {2}",
                        searchString, comparison,
                        title.StartsWith(searchString, comparison));

      comparison = StringComparison.InvariantCultureIgnoreCase;
      Console.WriteLine("   Starts with '{0}' ({1:G} comparison): {2}",
                        searchString, comparison,
                        title.StartsWith(searchString, comparison));
   }
}
// The example displays the following output:
//       'The House of the Seven Gables':
//          Starts with 'the' (InvariantCulture comparison): False
//          Starts with 'the' (InvariantCultureIgnoreCase comparison): True

下面的示例确定字符串是否以特定的子字符串开头。 它将初始化二维字符串数组。 第二个维度中的第一个元素包含一个字符串,第二个元素包含要搜索的第一个字符串的开头的字符串。 区域性、 是否忽略大小写,和是否执行序号比较的选择会影响结果。 请注意,当字符串实例中包含连字,带有其连续字符的区分区域性的比较成功匹配。

using System;

public class Example
{
   public static void Main()
   {
      string[,] strings = { {"ABCdef", "abc" },                    
                            {"ABCdef", "abc" },  
                            {"œil","oe" },
                            { "læring}", "lae" } };
      for (int ctr1 = strings.GetLowerBound(0); ctr1 <= strings.GetUpperBound(0); ctr1++)
      {
            foreach (string cmpName in Enum.GetNames(typeof(StringComparison)))
            { 
               StringComparison strCmp = (StringComparison) Enum.Parse(typeof(StringComparison), 
                                                      cmpName);
               string instance = strings[ctr1, 0];
               string value = strings[ctr1, 1];
               Console.WriteLine("{0} starts with {1}: {2} ({3} comparison)", 
                                 instance, value, 
                                 instance.StartsWith(value, strCmp), 
                                 strCmp); 
            }
            Console.WriteLine();   
      }   
   }
}
// The example displays the following output:
//       ABCdef starts with abc: False (CurrentCulture comparison)
//       ABCdef starts with abc: True (CurrentCultureIgnoreCase comparison)
//       ABCdef starts with abc: False (InvariantCulture comparison)
//       ABCdef starts with abc: True (InvariantCultureIgnoreCase comparison)
//       ABCdef starts with abc: False (Ordinal comparison)
//       ABCdef starts with abc: True (OrdinalIgnoreCase comparison)
//       
//       ABCdef starts with abc: False (CurrentCulture comparison)
//       ABCdef starts with abc: True (CurrentCultureIgnoreCase comparison)
//       ABCdef starts with abc: False (InvariantCulture comparison)
//       ABCdef starts with abc: True (InvariantCultureIgnoreCase comparison)
//       ABCdef starts with abc: False (Ordinal comparison)
//       ABCdef starts with abc: True (OrdinalIgnoreCase comparison)
//       
//       œil starts with oe: True (CurrentCulture comparison)
//       œil starts with oe: True (CurrentCultureIgnoreCase comparison)
//       œil starts with oe: True (InvariantCulture comparison)
//       œil starts with oe: True (InvariantCultureIgnoreCase comparison)
//       œil starts with oe: False (Ordinal comparison)
//       œil starts with oe: False (OrdinalIgnoreCase comparison)
//       
//       læring} starts with lae: True (CurrentCulture comparison)
//       læring} starts with lae: True (CurrentCultureIgnoreCase comparison)
//       læring} starts with lae: True (InvariantCulture comparison)
//       læring} starts with lae: True (InvariantCultureIgnoreCase comparison)
//       læring} starts with lae: False (Ordinal comparison)
//       læring} starts with lae: False (OrdinalIgnoreCase comparison)

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