信息
您所需的主题如下所示。但此主题未包含在此库中。

String.LastIndexOf 方法 (Char, Int32, Int32)

报告指定的 Unicode 字符在此实例内的子字符串中的最后一个匹配项的从零开始的索引的位置。 搜索在指定字符位置的数目的字符串开始时,开始指定字符和其后面的位置。

命名空间:  System
程序集:  mscorlib(在 mscorlib.dll 中)

public int LastIndexOf(
	char value,
	int startIndex,
	int count
)

参数

value
类型:System.Char
要查找的 Unicode 字符。
startIndex
类型:System.Int32
搜索的起始位置。 startIndex 此实例的开头开始搜索。
count
类型:System.Int32
要检查的字符位置数。

返回值

类型:System.Int32
如果找到该字符,则为 value 的从零开始的索引位置;如果未找到该字符或当前实例等于 String.Empty,则为 -1。

异常条件
ArgumentOutOfRangeException

当前实例不等于 String.Empty,而且 startIndex 小于零,或者大于或等于此实例的长度。

- 或 -

当前实例不等于 String.Empty,且 startIndex - count + 1 小于零。

索引编号从零开始。 也就是说,字符串中第一个字符的位置为索引 0,而最后一个字符的位置为 Length - 1。

此方法从该实例的 startIndex 字符位置开始,沿反向向前搜索,直到找到 value 或检查完 count 个字符位置为止。 例如,如果 startIndexLength - 1,则该方法将从字符串中最后一个字符开始反向搜索 count 个字符。 该搜索区分大小写。

此方法执行顺序(不区分区域性)搜索,即,仅当 Unicode 标量值相同时两个字符才被视为相等。 若要执行区分区域性的搜索,请使用 CompareInfo.LastIndexOf 方法,根据所使用的区域性,该方法可能将表示预先构成字符(如连字“Æ”(U+00C6))的 Unicode 标量值视为等同于任何顺序正确的该字符的组成字符,如上述连字可能被视为“AE”(U+0041、U+0045)。

下面的示例从某个子字符串的末尾到开头查找该子字符串中某一字符的所有匹配项的索引。


// Sample for String.LastIndexOf(Char, Int32, Int32)
using System;

class Sample {
    public static void Main() {

    string br1 = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-";
    string br2 = "0123456789012345678901234567890123456789012345678901234567890123456";
    string str = "Now is the time for all good men to come to the aid of their party.";
    int start;
    int at;
    int count;
    int end;

    start = str.Length-1;
    end = start/2 - 1;
    Console.WriteLine("All occurrences of 't' from position {0} to {1}.", start, end);
    Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str);
    Console.Write("The letter 't' occurs at position(s): ");

    count = 0;
    at = 0;
    while((start > -1) && (at > -1))
        {
        count = start - end; //Count must be within the substring.
        at = str.LastIndexOf('t', start, count);
        if (at > -1) 
            {
            Console.Write("{0} ", at);
            start = at - 1;
            }
        }
    Console.Write("{0}{0}{0}", Environment.NewLine);
    }
}
/*
This example produces the following results:
All occurrences of 't' from position 66 to 32.
0----+----1----+----2----+----3----+----4----+----5----+----6----+-
0123456789012345678901234567890123456789012345678901234567890123456
Now is the time for all good men to come to the aid of their party.

The letter 't' occurs at position(s): 64 55 44 41 33


*/


.NET Framework

受以下版本支持:4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8

适用于 Windows Phone 应用的 .NET

受以下版本支持:Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参阅.NET Framework 系统要求

社区附加资源

显示:
© 2014 Microsoft