System.String.EndsWith 方法 (String, StringComparison)

方法描述

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

语法定义(C# System.String.EndsWith 方法 (String, StringComparison) 的用法)

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

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
value System-String 要与此实例末尾的子字符串进行比较的字符串。
comparisonType System-StringComparison 枚举值之一,用于确定如何比较此字符串与 value。
返回值 System.Boolean 如果此字符串的末尾与 value 参数匹配,则为 true;否则为 false。

提示和注释

EndsWith 方法将 value 参数与位于此字符串末尾的子字符串进行比较,并返回指示它们是否相等的值。 若要相等,value 必须是对此同一字符串的引用,必须为空字符串 (""),或者必须与此字符串的末尾匹配。 EndsWith 方法执行的比较类型取决于 comparisonType 参数的值。

System.String.EndsWith 方法 (String, StringComparison)例子

比较结果受以下因素的影响:区域性的选择,是否忽略大小写,是否执行序号比较。

// This example demonstrates the 
// System.String.EndsWith(String, StringComparison) method.

using System;
using System.Threading;

class Sample 
{
    public static void Main() 
    {
    string intro = "Determine whether a string ends with another string, " +
                   "using\n  different values of StringComparison.";

    StringComparison[] scValues = {
        StringComparison.CurrentCulture,
        StringComparison.CurrentCultureIgnoreCase,
        StringComparison.InvariantCulture,
        StringComparison.InvariantCultureIgnoreCase,
        StringComparison.Ordinal,
        StringComparison.OrdinalIgnoreCase };

//
    Console.Clear();
    Console.WriteLine(intro);

// Display the current culture because the culture-specific comparisons
// can produce different results with different cultures.
    Console.WriteLine("The current culture is {0}.\n", 
                       Thread.CurrentThread.CurrentCulture.Name);

// Determine whether three versions of the letter I are equal to each other. 
    foreach (StringComparison sc in scValues)
        {
        Console.WriteLine("StringComparison.{0}:", sc);
        Test("abcXYZ", "XYZ", sc);
        Test("abcXYZ", "xyz", sc);
        Console.WriteLine();
        }
    }

    protected static void Test(string x, string y, StringComparison comparison)
    {
    string resultFmt = "\"{0}\" {1} with \"{2}\".";
    string result = "does not end";
//
    if (x.EndsWith(y, comparison))
        result = "ends";
    Console.WriteLine(resultFmt, x, result, y);
    }
}

/*
This code example produces the following results:

Determine whether a string ends with another string, using
  different values of StringComparison.
The current culture is en-US.

StringComparison.CurrentCulture:
"abcXYZ" ends with "XYZ".
"abcXYZ" does not end with "xyz".

StringComparison.CurrentCultureIgnoreCase:
"abcXYZ" ends with "XYZ".
"abcXYZ" ends with "xyz".

StringComparison.InvariantCulture:
"abcXYZ" ends with "XYZ".
"abcXYZ" does not end with "xyz".

StringComparison.InvariantCultureIgnoreCase:
"abcXYZ" ends with "XYZ".
"abcXYZ" ends with "xyz".

StringComparison.Ordinal:
"abcXYZ" ends with "XYZ".
"abcXYZ" does not end with "xyz".

StringComparison.OrdinalIgnoreCase:
"abcXYZ" ends with "XYZ".
"abcXYZ" ends with "xyz".

*/

异常

异常 异常描述
ArgumentNullException value 为 null。
ArgumentException comparisonType 不是一个 StringComparison 值。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。