LastIndexOf 方法 (Char)
此文章由机器翻译。 将光标移到文章的句子上,以查看原文。 更多信息。
译文
原文

String.LastIndexOf 方法 (Char)

 

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

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

public int LastIndexOf(
	char value
)

参数

value

要查找的 Unicode 字符。

返回值

Type: System.Int32

如果找到该字符,则为 value 的从零开始的索引位置;如果未找到,则为 -1。

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

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

此方法执行顺序 (不区分区域性) 搜索,其中一个字符被视为等效于另一个字符仅当其 Unicode 的标量值是相同的。若要执行区分区域性的搜索,请使用 CompareInfo.LastIndexOf 方法,其中 Unicode 标量值表示了预构成的字符如连字"Æ"(U + 00 C 6),可能会被视为等效于出现正确的顺序,如"AE"中的字符的组件的任何 (U + 0041、 U + 0045)、 根据区域性。

下面的示例定义 ExtractFilename 方法,它使用 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) ? "<none>" : filename);

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

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

      filename = ExtractFilename(@"C:\temp\notafile.txt");
      Console.WriteLine("{0}", String.IsNullOrEmpty(filename) ? "<none>" : 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;
      }
   }
}

Universal Windows Platform
4.5 后可用
.NET Framework
1.1 后可用
Portable Class Library
受以下版本支持:portable .NET platforms
Silverlight
2.0 后可用
Windows Phone Silverlight
7.0 后可用
Windows Phone
8.1 后可用
返回页首
显示:
© 2016 Microsoft