System.String.LastIndexOf 方法 (Char)

方法描述

报告指定 Unicode 字符在此实例中的最后一个匹配项的索引位置。

语法定义(C# System.String.LastIndexOf 方法 (Char) 的用法)

public int LastIndexOf(
	char value
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
value System-Char 要查找的 Unicode 字符。
返回值 System.Int32 如果找到该字符,则为 value 的从零开始的索引位置;如果未找到,则为 -1。

提示和注释

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

此方法从该实例的最后一个字符位置开始,沿反向向前搜索,直到找到 value 或检查完第一个字符位置为止。 该搜索区分大小写。

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

System.String.LastIndexOf 方法 (Char)例子

如果文件存在,该方法将返回不包含路径的文件名。

using System;
using System.IO;

public class TestLastIndexOf
{
   public static void Main()
   {
      string filename;

      filename = ExtractFilename(@"C:\temp\");
      Console.WriteLine("{0}", String.IsNullOrEmpty(filename) ? "" : filename);

      filename = ExtractFilename(@"C:\temp\delegate.txt"); 
      Console.WriteLine("{0}", String.IsNullOrEmpty(filename) ? "" : filename);

      filename = ExtractFilename("delegate.txt");      
      Console.WriteLine("{0}", String.IsNullOrEmpty(filename) ? "" : filename);

      filename = ExtractFilename(@"C:\temp\notafile.txt");
      Console.WriteLine("{0}", String.IsNullOrEmpty(filename) ? "" : filename);
   }

   public static string ExtractFilename(string filepath)
   {
      // If path ends with a "\", it's a path only so return String.Empty.
      if (filepath.Trim().EndsWith(@"\"))
         return String.Empty;

      // Determine where last backslash is.
      int position = filepath.LastIndexOf('\\');
      // If there is no backslash, assume that this is a filename.
      if (position == -1)
      {
         // Determine whether file exists in the current directory.
         if (File.Exists(Environment.CurrentDirectory + Path.DirectorySeparatorChar + filepath)) 
            return filepath;
         else
            return String.Empty;
      }
      else
      {
         // Determine whether file exists using filepath.
         if (File.Exists(filepath))
            // Return filename without file path.
            return filepath.Substring(position + 1);
         else
            return String.Empty;
      }
   }
}

异常

异常 异常描述

命名空间

namespace: System

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

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.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 系统要求。