String.LastIndexOf String.LastIndexOf String.LastIndexOf String.LastIndexOf Method

Tanım

Belirtilen Unicode karakter veya dize bu örneğinde son oluşum sıfır tabanlı dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified Unicode character or string within this instance. Bu örnekte karakter veya dize bulunmadığında, yöntem -1 döndürür. The method returns -1 if the character or string is not found in this instance.

Aşırı Yüklemeler

LastIndexOf(String, Int32, Int32, StringComparison) LastIndexOf(String, Int32, Int32, StringComparison) LastIndexOf(String, Int32, Int32, StringComparison) LastIndexOf(String, Int32, Int32, StringComparison)

Bu örnekte belirtilen bir dizenin son ortaya çıkışına ilişkin sıfır tabanlı bir dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified string within this instance. Arama, belirtilen karakter konumunda başlar ve belirtilen sayıda karakter konumları için dizenin başına doğru geriye doğru devam eder. The search starts at a specified character position and proceeds backward toward the beginning of the string for the specified number of character positions. Belirtilen dize için arama yaparken gerçekleştirilecek karşılaştırma türünü bir parametre belirtir. A parameter specifies the type of comparison to perform when searching for the specified string.

LastIndexOf(String, Int32, StringComparison) LastIndexOf(String, Int32, StringComparison) LastIndexOf(String, Int32, StringComparison) LastIndexOf(String, Int32, StringComparison)

Sıfır tabanlı dizini geçerli içinde belirtilen bir dizenin son oluşum raporları String nesne. Reports the zero-based index of the last occurrence of a specified string within the current String object. Arama, belirtilen karakter konumunda başlar ve dizenin başına doğru geriye gider. The search starts at a specified character position and proceeds backward toward the beginning of the string. Belirtilen dize için arama yaparken gerçekleştirilecek karşılaştırma türünü bir parametre belirtir. A parameter specifies the type of comparison to perform when searching for the specified string.

LastIndexOf(String, Int32, Int32) LastIndexOf(String, Int32, Int32) LastIndexOf(String, Int32, Int32) LastIndexOf(String, Int32, Int32)

Bu örnekte belirtilen bir dizenin son ortaya çıkışına ilişkin sıfır tabanlı bir dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified string within this instance. Arama, belirtilen karakter konumunda başlar ve belirtilen sayıda karakter konumlarının dizenin başına doğru geriye doğru devam eder. The search starts at a specified character position and proceeds backward toward the beginning of the string for a specified number of character positions.

LastIndexOf(String, StringComparison) LastIndexOf(String, StringComparison) LastIndexOf(String, StringComparison) LastIndexOf(String, StringComparison)

Sıfır tabanlı dizini geçerli içinde belirtilen bir dizenin son oluşum raporları String nesne. Reports the zero-based index of the last occurrence of a specified string within the current String object. Bir parametre kullanmak için belirtilen dize için arama türünü belirtir. A parameter specifies the type of search to use for the specified string.

LastIndexOf(Char, Int32, Int32) LastIndexOf(Char, Int32, Int32) LastIndexOf(Char, Int32, Int32) LastIndexOf(Char, Int32, Int32)

Bu örneği içindeki bir alt dizenin belirtilen Unicode karakter son oluşum sıfır tabanlı dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of the specified Unicode character in a substring within this instance. Arama, belirtilen karakter konumunda başlar ve belirtilen sayıda karakter konumlarının dizenin başına doğru geriye doğru devam eder. The search starts at a specified character position and proceeds backward toward the beginning of the string for a specified number of character positions.

LastIndexOf(Char, Int32) LastIndexOf(Char, Int32) LastIndexOf(Char, Int32) LastIndexOf(Char, Int32)

Bu örneği içinde belirtilen bir Unicode karakter son oluşum sıfır tabanlı dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance. Arama, belirtilen karakter konumunda başlar ve dizenin başına doğru geriye gider. The search starts at a specified character position and proceeds backward toward the beginning of the string.

LastIndexOf(String) LastIndexOf(String) LastIndexOf(String) LastIndexOf(String)

Bu örnekte belirtilen bir dizenin son ortaya çıkışına ilişkin sıfır tabanlı bir dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified string within this instance.

LastIndexOf(Char) LastIndexOf(Char) LastIndexOf(Char) LastIndexOf(Char)

Bu örneği içinde belirtilen bir Unicode karakter son oluşum sıfır tabanlı dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance.

LastIndexOf(String, Int32) LastIndexOf(String, Int32) LastIndexOf(String, Int32) LastIndexOf(String, Int32)

Bu örnekte belirtilen bir dizenin son ortaya çıkışına ilişkin sıfır tabanlı bir dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified string within this instance. Arama, belirtilen karakter konumunda başlar ve dizenin başına doğru geriye gider. The search starts at a specified character position and proceeds backward toward the beginning of the string.

LastIndexOf(String, Int32, Int32, StringComparison) LastIndexOf(String, Int32, Int32, StringComparison) LastIndexOf(String, Int32, Int32, StringComparison) LastIndexOf(String, Int32, Int32, StringComparison)

Bu örnekte belirtilen bir dizenin son ortaya çıkışına ilişkin sıfır tabanlı bir dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified string within this instance. Arama, belirtilen karakter konumunda başlar ve belirtilen sayıda karakter konumları için dizenin başına doğru geriye doğru devam eder. The search starts at a specified character position and proceeds backward toward the beginning of the string for the specified number of character positions. Belirtilen dize için arama yaparken gerçekleştirilecek karşılaştırma türünü bir parametre belirtir. A parameter specifies the type of comparison to perform when searching for the specified string.

public:
 int LastIndexOf(System::String ^ value, int startIndex, int count, StringComparison comparisonType);
public int LastIndexOf (string value, int startIndex, int count, StringComparison comparisonType);
member this.LastIndexOf : string * int * int * StringComparison -> int
Public Function LastIndexOf (value As String, startIndex As Integer, count As Integer, comparisonType As StringComparison) As Integer
Parametreler
value
String String String String

Aranacak dize. The string to seek.

startIndex
Int32 Int32 Int32 Int32

Arama başlama konumu. The search starting position. Gelen arama geçer startIndex bu örneğin başlangıcına doğru. The search proceeds from startIndex toward the beginning of this instance.

count
Int32 Int32 Int32 Int32

İncelenecek karakter konumlarının sayısı. The number of character positions to examine.

comparisonType
StringComparison StringComparison StringComparison StringComparison

Arama kurallarını belirten numaralandırma değerlerinden biri. One of the enumeration values that specifies the rules for the search.

Döndürülenler

Sıfır tabanlı başlangıç dizini konumu value Bu dize bulunursa, parametresi veya -1, bulunamadı veya geçerli örneğe eşitse Empty. The zero-based starting index position of the value parameter if that string is found, or -1 if it is not found or if the current instance equals Empty. Varsa value olduğu Empty, dönüş değeri, daha küçük olan startIndex ve bu örneğinde son dizin konumu. If value is Empty, the return value is the smaller of startIndex and the last index position in this instance.

Özel Durumlar

count negatif olur. count is negative. veya -or- Geçerli örnekle eşit olmadığı Empty, ve startIndex negatiftir. The current instance does not equal Empty, and startIndex is negative. veya -or- Geçerli örnekle eşit olmadığı Empty, ve startIndex bu örneğinin uzunluğundan büyük. The current instance does not equal Empty, and startIndex is greater than the length of this instance. veya -or- Geçerli örnekle eşit olmadığı Empty, ve startIndex + 1 - count Bu örneği içinde yer almayan bir konumu belirtir. The current instance does not equal Empty, and startIndex + 1 - count specifies a position that is not within this instance. veya -or- Geçerli örnekle eşit Empty ve start -1'den veya sıfırdan küçüktür. The current instance equals Empty and start is less than -1 or greater than zero. veya -or- Geçerli örnekle eşit Empty ve count 1'den büyüktür. The current instance equals Empty and count is greater than 1.

comparisonType geçerli değil StringComparison değeri. comparisonType is not a valid StringComparison value.

Örnekler

Aşağıdaki exampledemonstrates üç overloads biri LastIndexOf farklı değerleri kullanarak başka bir dize içindeki bir dizenin son oluşum bulma yöntemi StringComparison sabit listesi.The following exampledemonstrates three overloads of the LastIndexOf method that find the last occurrence of a string within another string using different values of the StringComparison enumeration.

// This code example demonstrates the 
// System.String.LastIndexOf(String, ..., StringComparison) methods.

using System;
using System.Threading;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
    string intro = "Find the last occurrence of a character using different " + 
                   "values of StringComparison.";
    string resultFmt = "Comparison: {0,-28} Location: {1,3}";

// Define a string to search for.
// U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
    string CapitalAWithRing = "\u00c5"; 

// Define a string to search. 
// The result of combining the characters LATIN SMALL LETTER A and COMBINING 
// RING ABOVE (U+0061, U+030a) is linguistically equivalent to the character 
// LATIN SMALL LETTER A WITH RING ABOVE (U+00e5).
    string cat = "A Cheshire c" + "\u0061\u030a" + "t";
    int loc = 0;
    StringComparison[] scValues = {
        StringComparison.CurrentCulture,
        StringComparison.CurrentCultureIgnoreCase,
        StringComparison.InvariantCulture,
        StringComparison.InvariantCultureIgnoreCase,
        StringComparison.Ordinal,
        StringComparison.OrdinalIgnoreCase };

// Clear the screen and display an introduction.
    Console.Clear();
    Console.WriteLine(intro);

// Display the current culture because culture affects the result. For example, 
// try this code example with the "sv-SE" (Swedish-Sweden) culture.

    Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
    Console.WriteLine("The current culture is \"{0}\" - {1}.", 
                       Thread.CurrentThread.CurrentCulture.Name,
                       Thread.CurrentThread.CurrentCulture.DisplayName);

// Display the string to search for and the string to search.
    Console.WriteLine("Search for the string \"{0}\" in the string \"{1}\"", 
                       CapitalAWithRing, cat);
    Console.WriteLine();

// Note that in each of the following searches, we look for 
// LATIN CAPITAL LETTER A WITH RING ABOVE in a string that contains 
// LATIN SMALL LETTER A WITH RING ABOVE. A result value of -1 indicates 
// the string was not found.
// Search using different values of StringComparsion. Specify the start 
// index and count. 

    Console.WriteLine("Part 1: Start index and count are specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, cat.Length-1, cat.Length, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }

// Search using different values of StringComparsion. Specify the 
// start index. 
    Console.WriteLine("\nPart 2: Start index is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, cat.Length-1, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }

// Search using different values of StringComparsion. 
    Console.WriteLine("\nPart 3: Neither start index nor count is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }
    }
}

/*
Note: This code example was executed on a console whose user interface 
culture is "en-US" (English-United States).

This code example produces the following results:

Find the last occurrence of a character using different values of StringComparison.
The current culture is "en-US" - English (United States).
Search for the string "Å" in the string "A Cheshire ca°t"

Part 1: Start index and count are specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

Part 2: Start index is specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

Part 3: Neither start index nor count is specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

*/
' This code example demonstrates the 
' System.String.LastIndexOf(String, ..., StringComparison) methods.

Imports System
Imports System.Threading
Imports System.Globalization

Class Sample
    Public Shared Sub Main() 
        Dim intro As String = "Find the last occurrence of a character using different " & _
                              "values of StringComparison."
        Dim resultFmt As String = "Comparison: {0,-28} Location: {1,3}"
        
        ' Define a string to search for.
        ' U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
        Dim CapitalAWithRing As String = "Å"
        
        ' Define a string to search. 
        ' The result of combining the characters LATIN SMALL LETTER A and COMBINING 
        ' RING ABOVE (U+0061, U+030a) is linguistically equivalent to the character 
        ' LATIN SMALL LETTER A WITH RING ABOVE (U+00e5).
        Dim cat As String = "A Cheshire c" & "å" & "t"
        Dim loc As Integer = 0
        Dim scValues As StringComparison() =  { _
                        StringComparison.CurrentCulture, _
                        StringComparison.CurrentCultureIgnoreCase, _
                        StringComparison.InvariantCulture, _
                        StringComparison.InvariantCultureIgnoreCase, _
                        StringComparison.Ordinal, _
                        StringComparison.OrdinalIgnoreCase }
        Dim sc As StringComparison
        
        ' Clear the screen and display an introduction.
        Console.Clear()
        Console.WriteLine(intro)
        
        ' Display the current culture because culture affects the result. For example, 
        ' try this code example with the "sv-SE" (Swedish-Sweden) culture.
        Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US")
        Console.WriteLine("The current culture is ""{0}"" - {1}.", _
                           Thread.CurrentThread.CurrentCulture.Name, _
                           Thread.CurrentThread.CurrentCulture.DisplayName)
        
        ' Display the string to search for and the string to search.
        Console.WriteLine("Search for the string ""{0}"" in the string ""{1}""", _
                           CapitalAWithRing, cat)
        Console.WriteLine()
        
        ' Note that in each of the following searches, we look for 
        ' LATIN CAPITAL LETTER A WITH RING ABOVE in a string that contains 
        ' LATIN SMALL LETTER A WITH RING ABOVE. A result value of -1 indicates 
        ' the string was not found.
        ' Search using different values of StringComparsion. Specify the start 
        ' index and count. 
        Console.WriteLine("Part 1: Start index and count are specified.")
        For Each sc In  scValues
            loc = cat.LastIndexOf(CapitalAWithRing, cat.Length - 1, cat.Length, sc)
            Console.WriteLine(resultFmt, sc, loc)
        Next sc
        
        ' Search using different values of StringComparsion. Specify the 
        ' start index. 
        Console.WriteLine(vbCrLf & "Part 2: Start index is specified.")
        For Each sc In  scValues
            loc = cat.LastIndexOf(CapitalAWithRing, cat.Length - 1, sc)
            Console.WriteLine(resultFmt, sc, loc)
        Next sc
        
        ' Search using different values of StringComparsion. 
        Console.WriteLine(vbCrLf & "Part 3: Neither start index nor count is specified.")
        For Each sc In  scValues
            loc = cat.LastIndexOf(CapitalAWithRing, sc)
            Console.WriteLine(resultFmt, sc, loc)
        Next sc
    
    End Sub 'Main
End Class 'Sample

'
'Note: This code example was executed on a console whose user interface 
'culture is "en-US" (English-United States).
'
'This code example produces the following results:
'
'Find the last occurrence of a character using different values of StringComparison.
'The current culture is "en-US" - English (United States).
'Search for the string "Å" in the string "A Cheshire ca°t"
'
'Part 1: Start index and count are specified.
'Comparison: CurrentCulture               Location:  -1
'Comparison: CurrentCultureIgnoreCase     Location:  12
'Comparison: InvariantCulture             Location:  -1
'Comparison: InvariantCultureIgnoreCase   Location:  12
'Comparison: Ordinal                      Location:  -1
'Comparison: OrdinalIgnoreCase            Location:  -1
'
'Part 2: Start index is specified.
'Comparison: CurrentCulture               Location:  -1
'Comparison: CurrentCultureIgnoreCase     Location:  12
'Comparison: InvariantCulture             Location:  -1
'Comparison: InvariantCultureIgnoreCase   Location:  12
'Comparison: Ordinal                      Location:  -1
'Comparison: OrdinalIgnoreCase            Location:  -1
'
'Part 3: Neither start index nor count is specified.
'Comparison: CurrentCulture               Location:  -1
'Comparison: CurrentCultureIgnoreCase     Location:  12
'Comparison: InvariantCulture             Location:  -1
'Comparison: InvariantCultureIgnoreCase   Location:  12
'Comparison: Ordinal                      Location:  -1
'Comparison: OrdinalIgnoreCase            Location:  -1
'

Açıklamalar

Dizin numaralandırması sıfırdan başlar.Index numbering starts from zero. Yani dizedeki ilk karakter sıfır dizininde ise ve son altındadır Length - 1.That is, the first character in the string is at index zero and the last is at Length - 1.

Aramanın başlangıcı startIndex karakter konumu ve kadar geriye doğru devam eder value bulunamadı veya count karakter konumlarının incelenir.The search begins at the startIndex character position and proceeds backward until either value is found or count character positions have been examined. Örneğin, varsa startIndex olduğu Length - 1, yönteminin aradığı geriye doğru count dizedeki son karakter karakter.For example, if startIndex is Length - 1, the method searches backward count characters from the last character in the string.

comparisonType Parametresinin belirttiği aranacak value geçerli veya sabit kültür kullanılarak, bir büyük küçük harfe duyarlı veya duyarsız arama ile ve sözcük veya sıralı karşılaştırma kurallarını kullanarak parametre.The comparisonType parameter specifies to search for the value parameter using the current or invariant culture, using a case-sensitive or case-insensitive search, and using word or ordinal comparison rules.

Arayanlara Notlar

Karakter kümeleri, dilbilimsel veya kültüre duyarlı bir karşılaştırma yapılırken dikkate alınmayan karakterler olan yok sayılabilir karakterler içerir. Character sets include ignorable characters, which are characters that are not considered when performing a linguistic or culture-sensitive comparison. Kültüre duyarlı aramada (yani comparisonType değil Ordinal veya OrdinalIgnoreCase), value yoksayılabilir bir karakter içeriyorsa sonuç o karakter kaldırılmış aramaya eşdeğerdir. In a culture-sensitive search (that is, if comparisonType is not Ordinal or OrdinalIgnoreCase), if value contains an ignorable character, the result is equivalent to searching with that character removed. Varsa value yalnızca bir veya daha fazla Ignorable karakterlerinden oluşur LastIndexOf(String, Int32, Int32, StringComparison) yöntemi her zaman döndürür startIndex, arama başlar karakterin konumu olduğu. If value consists only of one or more ignorable characters, the LastIndexOf(String, Int32, Int32, StringComparison) method always returns startIndex, which is the character position at which the search begins. Aşağıdaki örnekte, LastIndexOf(String, Int32, Int32, StringComparison) yöntemi, her bir "m" harfinin konumunu hece ayırma çizgisi (U + 00AD), ancak en son "m" önce ilk karakterin konumu iki dizeleri bulmak için kullanılır. In the following example, the LastIndexOf(String, Int32, Int32, StringComparison) method is used to find the position of a soft hyphen (U+00AD) followed by an "m" in all but the first character position before the final "m" in two strings. Dizelerin yalnızca birinde gereken alt dize var. Only one of the strings contains the required substring. Örnek çalıştırılırsa .NET Framework 4.NET Framework 4 veya hece ayırma çizgisi yoksayılabilir bir karakter olduğundan kültüre duyarlı bir karşılaştırma gerçekleştirdiğinde daha sonra her iki durumda da yöntem dizedeki "m" dizinini döndürür. If the example is run on the .NET Framework 4.NET Framework 4 or later, in both cases, because the soft hyphen is an ignorable character, the method returns the index of "m" in the string when it performs a culture-sensitive comparison. Sıralı bir karşılaştırma gerçekleştirdiğinde, ancak bu alt dizenin yalnızca ilk dize içinde bulur. When it performs an ordinal comparison, however, it finds the substring only in the first string. Bir "m" harfinin hece ayırma çizgisi ilk dize söz konusu olduğunda yöntemin hece ayırma çizgisinin dizinini döndüremediğine ancak kültüre duyarlı bir karşılaştırma gerçekleştirdiğinde, bunun yerine "m" dizinini döndürür unutmayın. Note that in the case of the first string, which includes the soft hyphen followed by an "m", the method fails to return the index of the soft hyphen but instead returns the index of the "m" when it performs a culture-sensitive comparison. Yöntem, yalnızca bir sıra karşılaştırma yapıldığında ilk dizede hece ayırma çizgisinin dizinini döndürür. The method returns the index of the soft hyphen in the first string only when it performs an ordinal comparison. [! kod-csharpSystem.String.LastIndexOf#24] [! vb kodSystem.String.LastIndexOf#24] [!code-csharpSystem.String.LastIndexOf#24] [!code-vbSystem.String.LastIndexOf#24]

LastIndexOf(String, Int32, StringComparison) LastIndexOf(String, Int32, StringComparison) LastIndexOf(String, Int32, StringComparison) LastIndexOf(String, Int32, StringComparison)

Sıfır tabanlı dizini geçerli içinde belirtilen bir dizenin son oluşum raporları String nesne. Reports the zero-based index of the last occurrence of a specified string within the current String object. Arama, belirtilen karakter konumunda başlar ve dizenin başına doğru geriye gider. The search starts at a specified character position and proceeds backward toward the beginning of the string. Belirtilen dize için arama yaparken gerçekleştirilecek karşılaştırma türünü bir parametre belirtir. A parameter specifies the type of comparison to perform when searching for the specified string.

public:
 int LastIndexOf(System::String ^ value, int startIndex, StringComparison comparisonType);
public int LastIndexOf (string value, int startIndex, StringComparison comparisonType);
member this.LastIndexOf : string * int * StringComparison -> int
Public Function LastIndexOf (value As String, startIndex As Integer, comparisonType As StringComparison) As Integer
Parametreler
value
String String String String

Aranacak dize. The string to seek.

startIndex
Int32 Int32 Int32 Int32

Arama başlama konumu. The search starting position. Gelen arama geçer startIndex bu örneğin başlangıcına doğru. The search proceeds from startIndex toward the beginning of this instance.

comparisonType
StringComparison StringComparison StringComparison StringComparison

Arama kurallarını belirten numaralandırma değerlerinden biri. One of the enumeration values that specifies the rules for the search.

Döndürülenler

Sıfır tabanlı başlangıç dizini konumu value Bu dize bulunursa, parametresi veya -1, bulunamadı veya geçerli örneğe eşitse Empty. The zero-based starting index position of the value parameter if that string is found, or -1 if it is not found or if the current instance equals Empty. Varsa value olduğu Empty, dönüş değeri, daha küçük olan startIndex ve bu örneğinde son dizin konumu. If value is Empty, the return value is the smaller of startIndex and the last index position in this instance.

Özel Durumlar

Geçerli örnekle eşit olmadığı Empty, ve startIndex sıfırdan küçük veya geçerli örneğin uzunluğundan büyük. The current instance does not equal Empty, and startIndex is less than zero or greater than the length of the current instance. veya -or- Geçerli örnekle eşit Empty, ve startIndex -1'den veya sıfırdan küçüktür. The current instance equals Empty, and startIndex is less than -1 or greater than zero.

comparisonType geçerli değil StringComparison değeri. comparisonType is not a valid StringComparison value.

Örnekler

Aşağıdaki exampledemonstrates üç overloads biri LastIndexOf farklı değerleri kullanarak başka bir dize içindeki bir dizenin son oluşum bulma yöntemi StringComparison sabit listesi.The following exampledemonstrates three overloads of the LastIndexOf method that find the last occurrence of a string within another string using different values of the StringComparison enumeration.

// This code example demonstrates the 
// System.String.LastIndexOf(String, ..., StringComparison) methods.

using System;
using System.Threading;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
    string intro = "Find the last occurrence of a character using different " + 
                   "values of StringComparison.";
    string resultFmt = "Comparison: {0,-28} Location: {1,3}";

// Define a string to search for.
// U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
    string CapitalAWithRing = "\u00c5"; 

// Define a string to search. 
// The result of combining the characters LATIN SMALL LETTER A and COMBINING 
// RING ABOVE (U+0061, U+030a) is linguistically equivalent to the character 
// LATIN SMALL LETTER A WITH RING ABOVE (U+00e5).
    string cat = "A Cheshire c" + "\u0061\u030a" + "t";
    int loc = 0;
    StringComparison[] scValues = {
        StringComparison.CurrentCulture,
        StringComparison.CurrentCultureIgnoreCase,
        StringComparison.InvariantCulture,
        StringComparison.InvariantCultureIgnoreCase,
        StringComparison.Ordinal,
        StringComparison.OrdinalIgnoreCase };

// Clear the screen and display an introduction.
    Console.Clear();
    Console.WriteLine(intro);

// Display the current culture because culture affects the result. For example, 
// try this code example with the "sv-SE" (Swedish-Sweden) culture.

    Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
    Console.WriteLine("The current culture is \"{0}\" - {1}.", 
                       Thread.CurrentThread.CurrentCulture.Name,
                       Thread.CurrentThread.CurrentCulture.DisplayName);

// Display the string to search for and the string to search.
    Console.WriteLine("Search for the string \"{0}\" in the string \"{1}\"", 
                       CapitalAWithRing, cat);
    Console.WriteLine();

// Note that in each of the following searches, we look for 
// LATIN CAPITAL LETTER A WITH RING ABOVE in a string that contains 
// LATIN SMALL LETTER A WITH RING ABOVE. A result value of -1 indicates 
// the string was not found.
// Search using different values of StringComparsion. Specify the start 
// index and count. 

    Console.WriteLine("Part 1: Start index and count are specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, cat.Length-1, cat.Length, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }

// Search using different values of StringComparsion. Specify the 
// start index. 
    Console.WriteLine("\nPart 2: Start index is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, cat.Length-1, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }

// Search using different values of StringComparsion. 
    Console.WriteLine("\nPart 3: Neither start index nor count is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }
    }
}

/*
Note: This code example was executed on a console whose user interface 
culture is "en-US" (English-United States).

This code example produces the following results:

Find the last occurrence of a character using different values of StringComparison.
The current culture is "en-US" - English (United States).
Search for the string "Å" in the string "A Cheshire ca°t"

Part 1: Start index and count are specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

Part 2: Start index is specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

Part 3: Neither start index nor count is specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

*/
' This code example demonstrates the 
' System.String.LastIndexOf(String, ..., StringComparison) methods.

Imports System
Imports System.Threading
Imports System.Globalization

Class Sample
    Public Shared Sub Main() 
        Dim intro As String = "Find the last occurrence of a character using different " & _
                              "values of StringComparison."
        Dim resultFmt As String = "Comparison: {0,-28} Location: {1,3}"
        
        ' Define a string to search for.
        ' U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
        Dim CapitalAWithRing As String = "Å"
        
        ' Define a string to search. 
        ' The result of combining the characters LATIN SMALL LETTER A and COMBINING 
        ' RING ABOVE (U+0061, U+030a) is linguistically equivalent to the character 
        ' LATIN SMALL LETTER A WITH RING ABOVE (U+00e5).
        Dim cat As String = "A Cheshire c" & "å" & "t"
        Dim loc As Integer = 0
        Dim scValues As StringComparison() =  { _
                        StringComparison.CurrentCulture, _
                        StringComparison.CurrentCultureIgnoreCase, _
                        StringComparison.InvariantCulture, _
                        StringComparison.InvariantCultureIgnoreCase, _
                        StringComparison.Ordinal, _
                        StringComparison.OrdinalIgnoreCase }
        Dim sc As StringComparison
        
        ' Clear the screen and display an introduction.
        Console.Clear()
        Console.WriteLine(intro)
        
        ' Display the current culture because culture affects the result. For example, 
        ' try this code example with the "sv-SE" (Swedish-Sweden) culture.
        Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US")
        Console.WriteLine("The current culture is ""{0}"" - {1}.", _
                           Thread.CurrentThread.CurrentCulture.Name, _
                           Thread.CurrentThread.CurrentCulture.DisplayName)
        
        ' Display the string to search for and the string to search.
        Console.WriteLine("Search for the string ""{0}"" in the string ""{1}""", _
                           CapitalAWithRing, cat)
        Console.WriteLine()
        
        ' Note that in each of the following searches, we look for 
        ' LATIN CAPITAL LETTER A WITH RING ABOVE in a string that contains 
        ' LATIN SMALL LETTER A WITH RING ABOVE. A result value of -1 indicates 
        ' the string was not found.
        ' Search using different values of StringComparsion. Specify the start 
        ' index and count. 
        Console.WriteLine("Part 1: Start index and count are specified.")
        For Each sc In  scValues
            loc = cat.LastIndexOf(CapitalAWithRing, cat.Length - 1, cat.Length, sc)
            Console.WriteLine(resultFmt, sc, loc)
        Next sc
        
        ' Search using different values of StringComparsion. Specify the 
        ' start index. 
        Console.WriteLine(vbCrLf & "Part 2: Start index is specified.")
        For Each sc In  scValues
            loc = cat.LastIndexOf(CapitalAWithRing, cat.Length - 1, sc)
            Console.WriteLine(resultFmt, sc, loc)
        Next sc
        
        ' Search using different values of StringComparsion. 
        Console.WriteLine(vbCrLf & "Part 3: Neither start index nor count is specified.")
        For Each sc In  scValues
            loc = cat.LastIndexOf(CapitalAWithRing, sc)
            Console.WriteLine(resultFmt, sc, loc)
        Next sc
    
    End Sub 'Main
End Class 'Sample

'
'Note: This code example was executed on a console whose user interface 
'culture is "en-US" (English-United States).
'
'This code example produces the following results:
'
'Find the last occurrence of a character using different values of StringComparison.
'The current culture is "en-US" - English (United States).
'Search for the string "Å" in the string "A Cheshire ca°t"
'
'Part 1: Start index and count are specified.
'Comparison: CurrentCulture               Location:  -1
'Comparison: CurrentCultureIgnoreCase     Location:  12
'Comparison: InvariantCulture             Location:  -1
'Comparison: InvariantCultureIgnoreCase   Location:  12
'Comparison: Ordinal                      Location:  -1
'Comparison: OrdinalIgnoreCase            Location:  -1
'
'Part 2: Start index is specified.
'Comparison: CurrentCulture               Location:  -1
'Comparison: CurrentCultureIgnoreCase     Location:  12
'Comparison: InvariantCulture             Location:  -1
'Comparison: InvariantCultureIgnoreCase   Location:  12
'Comparison: Ordinal                      Location:  -1
'Comparison: OrdinalIgnoreCase            Location:  -1
'
'Part 3: Neither start index nor count is specified.
'Comparison: CurrentCulture               Location:  -1
'Comparison: CurrentCultureIgnoreCase     Location:  12
'Comparison: InvariantCulture             Location:  -1
'Comparison: InvariantCultureIgnoreCase   Location:  12
'Comparison: Ordinal                      Location:  -1
'Comparison: OrdinalIgnoreCase            Location:  -1
'

Açıklamalar

Dizin numaralandırması sıfırdan başlar.Index numbering starts from zero. Yani dizedeki ilk karakter sıfır dizininde ise ve son altındadır Length - 1.That is, the first character in the string is at index zero and the last is at Length - 1.

Aramanın başlangıcı startIndex karakter konumu ve kadar geriye doğru devam eder value bulunamadı veya ilk karakter konumunu incelenir.The search begins at the startIndex character position and proceeds backward until either value is found or the first character position has been examined. Örneğin, varsa startIndex olduğu Length - 1, son karakter yer alan her bir karakter dizesini yöntemi arar.For example, if startIndex is Length - 1, the method searches every character from the last character in the string to the beginning.

comparisonType Parametresinin belirttiği aranacak value geçerli veya sabit kültür kullanılarak, bir büyük küçük harfe duyarlı veya duyarsız arama ile ve sözcük veya sıralı karşılaştırma kurallarını kullanarak parametre.The comparisonType parameter specifies to search for the value parameter using the current or invariant culture, using a case-sensitive or case-insensitive search, and using word or ordinal comparison rules.

Arayanlara Notlar

Karakter kümeleri, dilbilimsel veya kültüre duyarlı bir karşılaştırma yapılırken dikkate alınmayan karakterler olan yok sayılabilir karakterler içerir. Character sets include ignorable characters, which are characters that are not considered when performing a linguistic or culture-sensitive comparison. Kültüre duyarlı aramada (yani comparisonType değil Ordinal veya OrdinalIgnoreCase), value yoksayılabilir bir karakter içeriyorsa sonuç o karakter kaldırılmış aramaya eşdeğerdir. In a culture-sensitive search (that is, if comparisonType is not Ordinal or OrdinalIgnoreCase), if value contains an ignorable character, the result is equivalent to searching with that character removed. Varsa value yalnızca bir veya daha fazla Ignorable karakterlerinden oluşur LastIndexOf(String, Int32, StringComparison) yöntemi her zaman döndürür startIndex, arama başlar karakterin konumu olduğu. If value consists only of one or more ignorable characters, the LastIndexOf(String, Int32, StringComparison) method always returns startIndex, which is the character position at which the search begins. Aşağıdaki örnekte, LastIndexOf(String, Int32, StringComparison) yöntemi "bir m iki dizenin de en son"m"ile başlayan", ardından hece ayırma çizgisi (U + 00AD) konumunu bulmak için kullanılır. In the following example, the LastIndexOf(String, Int32, StringComparison) method is used to find the position of a soft hyphen (U+00AD) followed by an "m", starting with the final "m" in two strings. Dizelerin yalnızca birinde gereken alt dize var. Only one of the strings contains the required substring. Örnek çalıştırılırsa .NET Framework 4.NET Framework 4 veya hece ayırma çizgisi yoksayılabilir bir karakter olduğundan kültüre duyarlı bir karşılaştırma gerçekleştirdiğinde daha sonra her iki durumda da yöntem dizedeki "m" dizinini döndürür. If the example is run on the .NET Framework 4.NET Framework 4 or later, in both cases, because the soft hyphen is an ignorable character, the method returns the index of "m" in the string when it performs a culture-sensitive comparison. Hece ayırma çizgisi ve ardından "m" harfinin geldiği ilk dize söz konusu olduğunda, yöntemin hece ayırma çizgisinin dizinini döndüremediğine ancak onun yerine "m" harfinin dizinini döndürdüğüne dikkat edin. Note that in the case of the first string, which includes the soft hyphen followed by an "m", the method fails to return the index of the soft hyphen but instead returns the index of the "m". Yöntem, yalnızca bir sıra karşılaştırma yapıldığında ilk dizede hece ayırma çizgisinin dizinini döndürür. The method returns the index of the soft hyphen in the first string only when it performs an ordinal comparison. [! kod-csharpSystem.String.LastIndexOf#25] [! vb kodSystem.String.LastIndexOf#25] [!code-csharpSystem.String.LastIndexOf#25] [!code-vbSystem.String.LastIndexOf#25]

LastIndexOf(String, Int32, Int32) LastIndexOf(String, Int32, Int32) LastIndexOf(String, Int32, Int32) LastIndexOf(String, Int32, Int32)

Bu örnekte belirtilen bir dizenin son ortaya çıkışına ilişkin sıfır tabanlı bir dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified string within this instance. Arama, belirtilen karakter konumunda başlar ve belirtilen sayıda karakter konumlarının dizenin başına doğru geriye doğru devam eder. The search starts at a specified character position and proceeds backward toward the beginning of the string for a specified number of character positions.

public:
 int LastIndexOf(System::String ^ value, int startIndex, int count);
public int LastIndexOf (string value, int startIndex, int count);
member this.LastIndexOf : string * int * int -> int
Public Function LastIndexOf (value As String, startIndex As Integer, count As Integer) As Integer
Parametreler
value
String String String String

Aranacak dize. The string to seek.

startIndex
Int32 Int32 Int32 Int32

Arama başlama konumu. The search starting position. Gelen arama geçer startIndex bu örneğin başlangıcına doğru. The search proceeds from startIndex toward the beginning of this instance.

count
Int32 Int32 Int32 Int32

İncelenecek karakter konumlarının sayısı. The number of character positions to examine.

Döndürülenler

Sıfır tabanlı başlangıç dizini konumu value Bu dize bulunursa veya -1, bulunamadı veya geçerli örneğe eşitse Empty. The zero-based starting index position of value if that string is found, or -1 if it is not found or if the current instance equals Empty. Varsa value olduğu Empty, dönüş değeri, daha küçük olan startIndex ve bu örneğinde son dizin konumu. If value is Empty, the return value is the smaller of startIndex and the last index position in this instance.

Özel Durumlar

count negatif olur. count is negative. veya -or- Geçerli örnekle eşit olmadığı Empty, ve startIndex negatiftir. The current instance does not equal Empty, and startIndex is negative. veya -or- Geçerli örnekle eşit olmadığı Empty, ve startIndex bu örneğinin uzunluğundan büyük. The current instance does not equal Empty, and startIndex is greater than the length of this instance. veya -or- Geçerli örnekle eşit olmadığı Empty, ve startIndex - count+ 1, bu örneği içinde yer almayan bir konumu belirtir. The current instance does not equal Empty, and startIndex - count+ 1 specifies a position that is not within this instance. veya -or- Geçerli örnekle eşit Empty ve start -1'den veya sıfırdan küçüktür. The current instance equals Empty and start is less than -1 or greater than zero. veya -or- Geçerli örnekle eşit Empty ve count 1'den büyüktür. The current instance equals Empty and count is greater than 1.

Örnekler

Aşağıdaki örnek bir dizenin tüm oluşumları dizinini alt dizeyi dizenin sonundan alt dizenin başlangıcına kadar çalışma, bulur.The following example finds the index of all occurrences of a string in substring, working from the end of the substring to the start of the substring.

// Sample for String::LastIndexOf(String, Int32, Int32)
using namespace System;
int 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 'he' from position {0} to {1}.", start, end );
   Console::WriteLine( "{1}{0}{2}{0}{3}{0}", Environment::NewLine, br1, br2, str );
   Console::Write( "The string 'he' 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( "he", 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 'he' 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 string 'he' occurs at position(s): 56 45
*/
// Sample for String.LastIndexOf(String, 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 'he' from position {0} to {1}.", start, end);
    Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str);
    Console.Write("The string 'he' 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("he", 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 'he' 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 string 'he' occurs at position(s): 56 45
*/
' Sample for String.LastIndexOf(String, Int32, Int32)
Imports System
 _

Class Sample
   
   Public Shared Sub Main()
      
      Dim br1 As String = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"
      Dim br2 As String = "0123456789012345678901234567890123456789012345678901234567890123456"
      Dim str As String = "Now is the time for all good men to come to the aid of their party."
      Dim start As Integer
      Dim at As Integer
      Dim count As Integer
      Dim [end] As Integer

      start = str.Length - 1
      [end] = start / 2 - 1
      Console.WriteLine("All occurrences of 'he' from position {0} to {1}.", start, [end])
      Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str)
      Console.Write("The string 'he' occurs at position(s): ")
      
      count = 0
      at = 0
      While start > - 1 And at > - 1
         count = start - [end] 'Count must be within the substring.
         at = str.LastIndexOf("he", start, count)
         If at > - 1 Then
            Console.Write("{0} ", at)
            start = at - 1
         End If
      End While
      Console.Write("{0}{0}{0}", Environment.NewLine)
   End Sub 'Main 
End Class 'Sample
'
'This example produces the following results:
'All occurrences of 'he' 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 string 'he' occurs at position(s): 56 45
'
'

Açıklamalar

Dizin numaralandırması sıfırdan başlar.Index numbering starts from zero. Yani dizedeki ilk karakter sıfır dizininde ise ve son altındadır Length - 1.That is, the first character in the string is at index zero and the last is at Length - 1.

Aramanın başlangıcı startIndex karakter konumu bu örnek ve devam eder ya da kadar başına doğru geriye dönük value bulunamadı veya count karakter konumlarının incelenir.The search begins at the startIndex character position of this instance and proceeds backward toward the beginning until either value is found or count character positions have been examined. Örneğin, varsa startIndex olduğu Length - 1, yönteminin aradığı geriye doğru count dizedeki son karakter karakter.For example, if startIndex is Length - 1, the method searches backward count characters from the last character in the string.

Bu yöntem, geçerli kültür kullanılarak bir sözcük (büyük/küçük harfe ve kültüre duyarlı) araması gerçekleştirir.This method performs a word (case-sensitive and culture-sensitive) search using the current culture.

Karakter kümeleri, dilbilimsel veya kültüre duyarlı bir karşılaştırma yapılırken dikkate alınmayan karakterler olan yok sayılabilir karakterler içerir.Character sets include ignorable characters, which are characters that are not considered when performing a linguistic or culture-sensitive comparison. Kültüre duyarlı aramada, value yoksayılabilir bir karakter içeriyorsa, sonuç o karakter kaldırılmış aramaya eşdeğerdir.In a culture-sensitive search, if value contains an ignorable character, the result is equivalent to searching with that character removed. Varsa value yalnızca bir veya daha fazla Ignorable karakterlerinden oluşur LastIndexOf yöntemi her zaman döndürür startIndex, arama başlar karakterin konumu olduğu.If value consists only of one or more ignorable characters, the LastIndexOf method always returns startIndex, which is the character position at which the search begins. Aşağıdaki örnekte, LastIndexOf yöntemi, iki dizenin son "m" önünde iki karakter hece ayırma çizgisi (U + 00AD) konumunu bulmak için kullanılır.In the following example, the LastIndexOf method is used to find the position of a soft hyphen (U+00AD) in the two characters that precede the final "m" of two strings. Dizelerin yalnızca birinde gereken alt dize var.Only one of the strings contains the required substring. Örnek çalıştırılırsa .NET Framework 4.NET Framework 4 veya hece ayırma çizgisi yoksayılabilir bir karakter olduğundan kültüre duyarlı bir karşılaştırma gerçekleştirdiğinde daha sonra her iki durumda da yöntem dizedeki "m" dizinini döndürür.If the example is run on the .NET Framework 4.NET Framework 4 or later, in both cases, because the soft hyphen is an ignorable character, the method returns the index of "m" in the string when it performs a culture-sensitive comparison. Hece ayırma çizgisi ve ardından "m" harfinin geldiği ilk dize söz konusu olduğunda, yöntemin hece ayırma çizgisinin dizinini döndüremediğine ancak onun yerine "m" harfinin dizinini döndürdüğüne dikkat edin.Note that in the case of the first string, which includes the soft hyphen followed by an "m", the method fails to return the index of the soft hyphen but instead returns the index of the "m".

using System;

public class Example
{
   public static void Main()
   {
      int position = 0;
      string s1 = "ani\u00ADmal";
      string s2 = "animal";
      
      // Find the index of the soft hyphen.
      position = s1.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)
         Console.WriteLine(s1.LastIndexOf("\u00AD", position, position + 1));

      position = s2.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)   
         Console.WriteLine(s2.LastIndexOf("\u00AD", position, position + 1));
      
      // Find the index of the soft hyphen followed by "n".
      position = s1.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)
         Console.WriteLine(s1.LastIndexOf("\u00ADn", position, position + 1));

      position = s2.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)   
         Console.WriteLine(s2.LastIndexOf("\u00ADn", position, position + 1));
      
      // Find the index of the soft hyphen followed by "m".
      position = s1.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)
         Console.WriteLine(s1.LastIndexOf("\u00ADm", position, position + 1));

      position = s2.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)   
         Console.WriteLine(s2.LastIndexOf("\u00ADm", position, position + 1));
   }
}
// The example displays the following output:
//       'm' at position 4
//       4
//       'm' at position 3
//       3
//       'm' at position 4
//       1
//       'm' at position 3
//       1
//       'm' at position 4
//       4
//       'm' at position 3
//       3
Module Example
   Public Sub Main()
      Dim position As Integer
      Dim softHyphen As String = ChrW(&h00AD)
      
      Dim s1 As String = "ani" + softHyphen + "mal"
      Dim s2 As String = "animal"
      
      ' Find the index of the soft hyphen.
      position = s1.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s1.LastIndexOf(softHyphen, position, position + 1))
      End If
         
      position = s2.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s2.LastIndexOf(softHyphen, position, position + 1))
      End If
      
      ' Find the index of the soft hyphen followed by "n".
      position = s1.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s1.LastIndexOf(softHyphen + "n", position, position + 1))
      End If
         
      position = s2.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s2.LastIndexOf(softHyphen + "n", position, position + 1))
      End If
      
      ' Find the index of the soft hyphen followed by "m".
      position = s1.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s1.LastIndexOf(softHyphen + "m", position, position + 1))
      End If
      
      position = s2.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s2.LastIndexOf(softHyphen + "m", position, position + 1))
      End If
   End Sub
End Module
' The example displays the following output:
'       'm' at position 4
'       4
'       'm' at position 3
'       3
'       'm' at position 4
'       1
'       'm' at position 3
'       1
'       'm' at position 4
'       4
'       'm' at position 3
'       3

Arayanlara Notlar

İçinde anlatıldığı gibi kullanarak dizeleri için en iyi, bunun yerine parametrelerin açık şekilde belirtilmesini gerektiren yöntemleri çağırmak ve varsayılan değerlerin yerine geçen dize karşılaştırma yöntemlerini çağırmaktan kaçınmanızı öneririz. As explained in Best Practices for Using Strings, we recommend that you avoid calling string comparison methods that substitute default values and instead call methods that require parameters to be explicitly specified. Geçerli kültürün karşılaştırma kurallarını kullanarak bu işlemi gerçekleştirmek üzere çağırılacak LastIndexOf(String, Int32, Int32, StringComparison) yöntemi aşırı yüklemesini değeriyle CurrentCulture için kendi comparisonType parametresi. To perform this operation by using the comparison rules of the current culture, call the LastIndexOf(String, Int32, Int32, StringComparison) method overload with a value of CurrentCulture for its comparisonType parameter.

Ayrıca Bkz.

LastIndexOf(String, StringComparison) LastIndexOf(String, StringComparison) LastIndexOf(String, StringComparison) LastIndexOf(String, StringComparison)

Sıfır tabanlı dizini geçerli içinde belirtilen bir dizenin son oluşum raporları String nesne. Reports the zero-based index of the last occurrence of a specified string within the current String object. Bir parametre kullanmak için belirtilen dize için arama türünü belirtir. A parameter specifies the type of search to use for the specified string.

public:
 int LastIndexOf(System::String ^ value, StringComparison comparisonType);
public int LastIndexOf (string value, StringComparison comparisonType);
member this.LastIndexOf : string * StringComparison -> int
Public Function LastIndexOf (value As String, comparisonType As StringComparison) As Integer
Parametreler
value
String String String String

Aranacak dize. The string to seek.

comparisonType
StringComparison StringComparison StringComparison StringComparison

Arama kurallarını belirten numaralandırma değerlerinden biri. One of the enumeration values that specifies the rules for the search.

Döndürülenler

Sıfır tabanlı başlangıç dizini konumu value Bu dize bulunursa, parametre veya yüklü değilse, -1. The zero-based starting index position of the value parameter if that string is found, or -1 if it is not. Varsa value olduğu Empty, bu örnekte son dizin konumuna dönüş değeridir. If value is Empty, the return value is the last index position in this instance.

Özel Durumlar

comparisonType geçerli değil StringComparison değeri. comparisonType is not a valid StringComparison value.

Örnekler

Aşağıdaki exampledemonstrates üç overloads biri LastIndexOf farklı değerleri kullanarak başka bir dize içindeki bir dizenin son oluşum bulma yöntemi StringComparison sabit listesi.The following exampledemonstrates three overloads of the LastIndexOf method that find the last occurrence of a string within another string using different values of the StringComparison enumeration.

// This code example demonstrates the 
// System.String.LastIndexOf(String, ..., StringComparison) methods.

using System;
using System.Threading;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
    string intro = "Find the last occurrence of a character using different " + 
                   "values of StringComparison.";
    string resultFmt = "Comparison: {0,-28} Location: {1,3}";

// Define a string to search for.
// U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
    string CapitalAWithRing = "\u00c5"; 

// Define a string to search. 
// The result of combining the characters LATIN SMALL LETTER A and COMBINING 
// RING ABOVE (U+0061, U+030a) is linguistically equivalent to the character 
// LATIN SMALL LETTER A WITH RING ABOVE (U+00e5).
    string cat = "A Cheshire c" + "\u0061\u030a" + "t";
    int loc = 0;
    StringComparison[] scValues = {
        StringComparison.CurrentCulture,
        StringComparison.CurrentCultureIgnoreCase,
        StringComparison.InvariantCulture,
        StringComparison.InvariantCultureIgnoreCase,
        StringComparison.Ordinal,
        StringComparison.OrdinalIgnoreCase };

// Clear the screen and display an introduction.
    Console.Clear();
    Console.WriteLine(intro);

// Display the current culture because culture affects the result. For example, 
// try this code example with the "sv-SE" (Swedish-Sweden) culture.

    Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
    Console.WriteLine("The current culture is \"{0}\" - {1}.", 
                       Thread.CurrentThread.CurrentCulture.Name,
                       Thread.CurrentThread.CurrentCulture.DisplayName);

// Display the string to search for and the string to search.
    Console.WriteLine("Search for the string \"{0}\" in the string \"{1}\"", 
                       CapitalAWithRing, cat);
    Console.WriteLine();

// Note that in each of the following searches, we look for 
// LATIN CAPITAL LETTER A WITH RING ABOVE in a string that contains 
// LATIN SMALL LETTER A WITH RING ABOVE. A result value of -1 indicates 
// the string was not found.
// Search using different values of StringComparsion. Specify the start 
// index and count. 

    Console.WriteLine("Part 1: Start index and count are specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, cat.Length-1, cat.Length, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }

// Search using different values of StringComparsion. Specify the 
// start index. 
    Console.WriteLine("\nPart 2: Start index is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, cat.Length-1, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }

// Search using different values of StringComparsion. 
    Console.WriteLine("\nPart 3: Neither start index nor count is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(CapitalAWithRing, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }
    }
}

/*
Note: This code example was executed on a console whose user interface 
culture is "en-US" (English-United States).

This code example produces the following results:

Find the last occurrence of a character using different values of StringComparison.
The current culture is "en-US" - English (United States).
Search for the string "Å" in the string "A Cheshire ca°t"

Part 1: Start index and count are specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

Part 2: Start index is specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

Part 3: Neither start index nor count is specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

*/
' This code example demonstrates the 
' System.String.LastIndexOf(String, ..., StringComparison) methods.

Imports System
Imports System.Threading
Imports System.Globalization

Class Sample
    Public Shared Sub Main() 
        Dim intro As String = "Find the last occurrence of a character using different " & _
                              "values of StringComparison."
        Dim resultFmt As String = "Comparison: {0,-28} Location: {1,3}"
        
        ' Define a string to search for.
        ' U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
        Dim CapitalAWithRing As String = "Å"
        
        ' Define a string to search. 
        ' The result of combining the characters LATIN SMALL LETTER A and COMBINING 
        ' RING ABOVE (U+0061, U+030a) is linguistically equivalent to the character 
        ' LATIN SMALL LETTER A WITH RING ABOVE (U+00e5).
        Dim cat As String = "A Cheshire c" & "å" & "t"
        Dim loc As Integer = 0
        Dim scValues As StringComparison() =  { _
                        StringComparison.CurrentCulture, _
                        StringComparison.CurrentCultureIgnoreCase, _
                        StringComparison.InvariantCulture, _
                        StringComparison.InvariantCultureIgnoreCase, _
                        StringComparison.Ordinal, _
                        StringComparison.OrdinalIgnoreCase }
        Dim sc As StringComparison
        
        ' Clear the screen and display an introduction.
        Console.Clear()
        Console.WriteLine(intro)
        
        ' Display the current culture because culture affects the result. For example, 
        ' try this code example with the "sv-SE" (Swedish-Sweden) culture.
        Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US")
        Console.WriteLine("The current culture is ""{0}"" - {1}.", _
                           Thread.CurrentThread.CurrentCulture.Name, _
                           Thread.CurrentThread.CurrentCulture.DisplayName)
        
        ' Display the string to search for and the string to search.
        Console.WriteLine("Search for the string ""{0}"" in the string ""{1}""", _
                           CapitalAWithRing, cat)
        Console.WriteLine()
        
        ' Note that in each of the following searches, we look for 
        ' LATIN CAPITAL LETTER A WITH RING ABOVE in a string that contains 
        ' LATIN SMALL LETTER A WITH RING ABOVE. A result value of -1 indicates 
        ' the string was not found.
        ' Search using different values of StringComparsion. Specify the start 
        ' index and count. 
        Console.WriteLine("Part 1: Start index and count are specified.")
        For Each sc In  scValues
            loc = cat.LastIndexOf(CapitalAWithRing, cat.Length - 1, cat.Length, sc)
            Console.WriteLine(resultFmt, sc, loc)
        Next sc
        
        ' Search using different values of StringComparsion. Specify the 
        ' start index. 
        Console.WriteLine(vbCrLf & "Part 2: Start index is specified.")
        For Each sc In  scValues
            loc = cat.LastIndexOf(CapitalAWithRing, cat.Length - 1, sc)
            Console.WriteLine(resultFmt, sc, loc)
        Next sc
        
        ' Search using different values of StringComparsion. 
        Console.WriteLine(vbCrLf & "Part 3: Neither start index nor count is specified.")
        For Each sc In  scValues
            loc = cat.LastIndexOf(CapitalAWithRing, sc)
            Console.WriteLine(resultFmt, sc, loc)
        Next sc
    
    End Sub 'Main
End Class 'Sample

'
'Note: This code example was executed on a console whose user interface 
'culture is "en-US" (English-United States).
'
'This code example produces the following results:
'
'Find the last occurrence of a character using different values of StringComparison.
'The current culture is "en-US" - English (United States).
'Search for the string "Å" in the string "A Cheshire ca°t"
'
'Part 1: Start index and count are specified.
'Comparison: CurrentCulture               Location:  -1
'Comparison: CurrentCultureIgnoreCase     Location:  12
'Comparison: InvariantCulture             Location:  -1
'Comparison: InvariantCultureIgnoreCase   Location:  12
'Comparison: Ordinal                      Location:  -1
'Comparison: OrdinalIgnoreCase            Location:  -1
'
'Part 2: Start index is specified.
'Comparison: CurrentCulture               Location:  -1
'Comparison: CurrentCultureIgnoreCase     Location:  12
'Comparison: InvariantCulture             Location:  -1
'Comparison: InvariantCultureIgnoreCase   Location:  12
'Comparison: Ordinal                      Location:  -1
'Comparison: OrdinalIgnoreCase            Location:  -1
'
'Part 3: Neither start index nor count is specified.
'Comparison: CurrentCulture               Location:  -1
'Comparison: CurrentCultureIgnoreCase     Location:  12
'Comparison: InvariantCulture             Location:  -1
'Comparison: InvariantCultureIgnoreCase   Location:  12
'Comparison: Ordinal                      Location:  -1
'Comparison: OrdinalIgnoreCase            Location:  -1
'

Açıklamalar

Dizin numaralandırması sıfırdan başlar.Index numbering starts from zero. Yani dizedeki ilk karakter sıfır dizininde ise ve son altındadır Length - 1.That is, the first character in the string is at index zero and the last is at Length - 1.

comparisonType Parametresinin belirttiği aranacak value geçerli veya sabit kültür kullanılarak, bir büyük küçük harfe duyarlı veya duyarsız arama ile ve sözcük veya sıralı karşılaştırma kurallarını kullanarak parametre.The comparisonType parameter specifies to search for the value parameter using the current or invariant culture, using a case-sensitive or case-insensitive search, and using word or ordinal comparison rules.

Arama bu örneğinin son karakter konumunda başlar ve ya da kadar başına doğru geriye doğru devam eder value bulunamadı veya ilk karakter konumunu incelenir.The search begins at the last character position of this instance and proceeds backward toward the beginning until either value is found or the first character position has been examined.

Arayanlara Notlar

Karakter kümeleri, dilbilimsel veya kültüre duyarlı bir karşılaştırma yapılırken dikkate alınmayan karakterler olan yok sayılabilir karakterler içerir. Character sets include ignorable characters, which are characters that are not considered when performing a linguistic or culture-sensitive comparison. Kültüre duyarlı aramada (yani options değil Ordinal veya OrdinalIgnoreCase), value yoksayılabilir bir karakter içeriyorsa sonuç o karakter kaldırılmış aramaya eşdeğerdir. In a culture-sensitive search (that is, if options is not Ordinal or OrdinalIgnoreCase), if value contains an ignorable character, the result is equivalent to searching with that character removed. Varsa value yalnızca bir veya daha fazla Ignorable karakterlerinden oluşur LastIndexOf(String, StringComparison) yöntemi her zaman döndürür Length – son dizin konumu geçerli örneği temsil eden 1. If value consists only of one or more ignorable characters, the LastIndexOf(String, StringComparison) method always returns Length – 1, which represents the last index position in the current instance. Aşağıdaki örnekte, LastIndexOf(String, StringComparison) yöntemi (hece ayırma çizgisi (U + 00AD), "n" tarafından izlenen hece ayırma çizgisi ve "m" harfinin hece ayırma çizgisi) üç alt dizeleri iki dizeleri bulmak için kullanılır. In the following example, the LastIndexOf(String, StringComparison) method is used to find three substrings (a soft hyphen (U+00AD), a soft hyphen followed by "n", and a soft hyphen followed by "m") in two strings. Dizelerin yalnızca birinde hece ayırma çizgisi var. Only one of the strings contains a soft hyphen. Örnek çalıştırılırsa .NET Framework 4.NET Framework 4 veya daha sonra hece ayırma çizgisi yoksayılabilir bir karakter olduğundan, kültüre duyarlı aramada hece ayırma çizgisinin eklenmez, arama dizesinde döndürecekti aynı değeri döndürür. If the example is run on the .NET Framework 4.NET Framework 4 or later, because the soft hyphen is an ignorable character, a culture-sensitive search returns the same value that it would return if the soft hyphen were not included in the search string. Bir dizede hece ayırma çizgisinin bulur ve eksik olduğunu bildirir başarıyla bir sıra araması, ancak ikinci dizeden. An ordinal search, however, successfully finds the soft hyphen in one string and reports that it is absent from the second string. [! kod-csharpSystem.String.LastIndexOf#26] [! vb kodSystem.String.LastIndexOf#26] [!code-csharpSystem.String.LastIndexOf#26] [!code-vbSystem.String.LastIndexOf#26]

LastIndexOf(Char, Int32, Int32) LastIndexOf(Char, Int32, Int32) LastIndexOf(Char, Int32, Int32) LastIndexOf(Char, Int32, Int32)

Bu örneği içindeki bir alt dizenin belirtilen Unicode karakter son oluşum sıfır tabanlı dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of the specified Unicode character in a substring within this instance. Arama, belirtilen karakter konumunda başlar ve belirtilen sayıda karakter konumlarının dizenin başına doğru geriye doğru devam eder. The search starts at a specified character position and proceeds backward toward the beginning of the string for a specified number of character positions.

public:
 int LastIndexOf(char value, int startIndex, int count);
public int LastIndexOf (char value, int startIndex, int count);
member this.LastIndexOf : char * int * int -> int
Public Function LastIndexOf (value As Char, startIndex As Integer, count As Integer) As Integer
Parametreler
value
Char Char Char Char

Aranacak Unicode karakteri. The Unicode character to seek.

startIndex
Int32 Int32 Int32 Int32

Aramanın başlangıç konumu. The starting position of the search. Gelen arama geçer startIndex bu örneğin başlangıcına doğru. The search proceeds from startIndex toward the beginning of this instance.

count
Int32 Int32 Int32 Int32

İncelenecek karakter konumlarının sayısı. The number of character positions to examine.

Döndürülenler

Öğesinin sıfır tabanlı dizin konumu value bu karakter bulunursa veya -1, bulunamadı veya geçerli örneğe eşitse Empty. The zero-based index position of value if that character is found, or -1 if it is not found or if the current instance equals Empty.

Özel Durumlar

Geçerli örnekle eşit olmadığı Empty, ve startIndex sıfırdan küçük veya büyük veya bu örneğin uzunluğuna eşit olduğu. The current instance does not equal Empty, and startIndex is less than zero or greater than or equal to the length of this instance. veya -or- Geçerli örnekle eşit olmadığı Empty, ve startIndex - count + 1, sıfırdan küçüktür. The current instance does not equal Empty, and startIndex - count + 1 is less than zero.

Örnekler

Aşağıdaki örnekte tüm oluşumlarını bir karakter dizinini alt dizenin sonundan alt dizenin başlangıcına kadar çalışma, bir alt dizeyi bulur.The following example finds the index of all occurrences of a character in a substring, working from the end of the substring to the start of the substring.

// Sample for String::LastIndexOf(Char, Int32, Int32)
using namespace System;
int 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( "\n{0}\n{1}\n{2}", 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;
      }
   }
}

/*
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


*/
// 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


*/
' Sample for String.LastIndexOf(Char, Int32, Int32)
Imports System
 _

Class Sample
   
   Public Shared Sub Main()
      
      Dim br1 As String = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"
      Dim br2 As String = "0123456789012345678901234567890123456789012345678901234567890123456"
      Dim str As String = "Now is the time for all good men to come to the aid of their party."
      Dim start As Integer
      Dim at As Integer
      Dim count As Integer
      Dim [end] As Integer

      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 And at > - 1
         count = start - [end] 'Count must be within the substring.
         at = str.LastIndexOf("t"c, start, count)
         If at > - 1 Then
            Console.Write("{0} ", at)
            start = at - 1
         End If
      End While
      Console.Write("{0}{0}{0}", Environment.NewLine)
   End Sub 'Main 
End Class 'Sample
'
'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
'
'

Açıklamalar

Dizin numaralandırması sıfırdan başlar.Index numbering starts from zero. Yani dizedeki ilk karakter sıfır dizininde ise ve son altındadır Length - 1.That is, the first character in the string is at index zero and the last is at Length - 1.

Bu yöntem, aramaya başladığı startIndex karakter konumu ve bu örneğin başlangıcına kadar ya da doğru geriye doğru devam eder value bulunamadı veya count karakter konumlarının incelenir.This method begins searching at the startIndex character position and proceeds backward toward the beginning of this instance until either value is found or count character positions have been examined. Örneğin, varsa startIndex olduğu Length - 1, yönteminin aradığı geriye doğru count dizedeki son karakter karakter.For example, if startIndex is Length - 1, the method searches backward count characters from the last character in the string. Arama büyük/küçük harfe duyarlıdır.The search is case-sensitive.

Bu yöntem, yalnızca kendi Unicode skalar değeri aynıysa, bir karakterin başka bir karaktere eşit kabul edildiği bir sıra (kültüre duyarlı olmayan) araması gerçekleştirir.This method performs an ordinal (culture-insensitive) search, where a character is considered equivalent to another character only if their Unicode scalar value are the same. Bir kültüre duyarlı arama yapmak için kullanın CompareInfo.LastIndexOf burada bir önceden oluşturulmuş gibi karakter bağ "Æ" (U + 00 C 6) temsil eden Unicode skalar değer olarak kabul edilir karakterin bileşenlerde tüm oluşumlarıyla eşdeğer yöntemi düzeltin "AE" gibi bir sıra (U + 0041, U + 0045) kültürü bağlı olarak.To perform a culture-sensitive search, use the CompareInfo.LastIndexOf method, where a Unicode scalar value representing a precomposed character, such as the ligature "Æ" (U+00C6), might be considered equivalent to any occurrence of the character's components in the correct sequence, such as "AE" (U+0041, U+0045), depending on the culture.

Ayrıca Bkz.

LastIndexOf(Char, Int32) LastIndexOf(Char, Int32) LastIndexOf(Char, Int32) LastIndexOf(Char, Int32)

Bu örneği içinde belirtilen bir Unicode karakter son oluşum sıfır tabanlı dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance. Arama, belirtilen karakter konumunda başlar ve dizenin başına doğru geriye gider. The search starts at a specified character position and proceeds backward toward the beginning of the string.

public:
 int LastIndexOf(char value, int startIndex);
public int LastIndexOf (char value, int startIndex);
member this.LastIndexOf : char * int -> int
Public Function LastIndexOf (value As Char, startIndex As Integer) As Integer
Parametreler
value
Char Char Char Char

Aranacak Unicode karakteri. The Unicode character to seek.

startIndex
Int32 Int32 Int32 Int32

Aramanın başlangıç konumu. The starting position of the search. Gelen arama geçer startIndex bu örneğin başlangıcına doğru. The search proceeds from startIndex toward the beginning of this instance.

Döndürülenler

Öğesinin sıfır tabanlı dizin konumu value bu karakter bulunursa veya -1, bulunamadı veya geçerli örneğe eşitse Empty. The zero-based index position of value if that character is found, or -1 if it is not found or if the current instance equals Empty.

Özel Durumlar

Geçerli örnekle eşit olmadığı Empty, ve startIndex sıfırdan küçük veya büyük veya bu örneğin uzunluğuna eşit olduğu. The current instance does not equal Empty, and startIndex is less than zero or greater than or equal to the length of this instance.

Örnekler

Aşağıdaki örnek, dizenin sonundan dizenin başlangıcına kadar çalışma, bir dizedeki tüm oluşumlarını bir karakter dizinini bulur.The following example finds the index of all occurrences of a character in a string, working from the end of the string to the start of the string.

// Sample for String::LastIndexOf(Char, Int32)
using namespace System;
int 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;
   start = str->Length - 1;
   Console::WriteLine( "All occurrences of 't' from position {0} to 0.", start );
   Console::WriteLine( "{0}\n{1}\n{2}\n", br1, br2, str );
   Console::Write( "The letter 't' occurs at position(s): " );
   at = 0;
   while ( (start > -1) && (at > -1) )
   {
      at = str->LastIndexOf( 't', start );
      if ( at > -1 )
      {
         Console::Write( " {0} ", at );
         start = at - 1;
      }
   }
}

/*
This example produces the following results:
All occurrences of 't' from position 66 to 0.
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 11 7
*/
// Sample for String.LastIndexOf(Char, 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;

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

    at = 0;
    while((start > -1) && (at > -1))
        {
        at = str.LastIndexOf('t', start);
        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 0.
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 11 7
*/
' Sample for String.LastIndexOf(Char, Int32)
Imports System 
 _

Class Sample
   
   Public Shared Sub Main()
      
      Dim br1 As String = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"
      Dim br2 As String = "0123456789012345678901234567890123456789012345678901234567890123456"
      Dim str As String = "Now is the time for all good men to come to the aid of their party."
      Dim start As Integer
      Dim at As Integer
      
      start = str.Length - 1
      Console.WriteLine("All occurrences of 't' from position {0} to 0.", start)
      Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str)
      Console.Write("The letter 't' occurs at position(s): ")
      
      at = 0
      While start > - 1 And at > - 1
         at = str.LastIndexOf("t"c, start)
         If at > - 1 Then
            Console.Write("{0} ", at)
            start = at - 1
         End If
      End While
      Console.Write("{0}{0}{0}", Environment.NewLine)
   End Sub 'Main
End Class 'Sample
'
'This example produces the following results:
'All occurrences of 't' from position 66 to 0.
'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 11 7
'

Açıklamalar

Dizin numaralandırması sıfırdan başlar.Index numbering starts from zero. Yani dizedeki ilk karakter sıfır dizininde ise ve son altındadır Length -1, bu yöntem başlar aramaya startIndex karakter konumu bu örnek ve geçerli örneğin başlangıcına kadar ya da doğru geriye doğru devam eder value bulunamadı veya ilk karakter konumunu incelenir.That is, the first character in the string is at index zero and the last is at Length - 1.This method begins searching at the startIndex character position of this instance and proceeds backward toward the beginning of the current instance until either value is found or the first character position has been examined. Örneğin, varsa startIndex olduğu Length - 1, son karakter yer alan her bir karakter dizesini yöntemi arar.For example, if startIndex is Length - 1, the method searches every character from the last character in the string to the beginning. Arama büyük/küçük harfe duyarlıdır.The search is case-sensitive.

Bu yöntem, yalnızca kendi Unicode skalar değerleri aynıysa, bir karakterin başka bir karaktere eşit kabul edildiği bir sıra (kültür duyarlı olmayan) araması gerçekleştirir.This method performs an ordinal (culture-insensitive) search, where a character is considered equivalent to another character only if their Unicode scalar values are the same. Bir kültüre duyarlı arama yapmak için kullanın CompareInfo.LastIndexOf burada bir önceden oluşturulmuş gibi karakter bağ "Æ" (U + 00 C 6) temsil eden Unicode skalar değer olarak kabul edilir karakterin bileşenlerde tüm oluşumlarıyla eşdeğer yöntemi düzeltin "AE" gibi bir sıra (U + 0041, U + 0045) kültürü bağlı olarak.To perform a culture-sensitive search, use the CompareInfo.LastIndexOf method, where a Unicode scalar value representing a precomposed character, such as the ligature "Æ" (U+00C6), might be considered equivalent to any occurrence of the character's components in the correct sequence, such as "AE" (U+0041, U+0045), depending on the culture.

Ayrıca Bkz.

LastIndexOf(String) LastIndexOf(String) LastIndexOf(String) LastIndexOf(String)

Bu örnekte belirtilen bir dizenin son ortaya çıkışına ilişkin sıfır tabanlı bir dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified string within this instance.

public:
 int LastIndexOf(System::String ^ value);
public int LastIndexOf (string value);
member this.LastIndexOf : string -> int
Public Function LastIndexOf (value As String) As Integer
Parametreler
value
String String String String

Aranacak dize. The string to seek.

Döndürülenler

Sıfır tabanlı başlangıç dizini konumu value Bu dize bulunursa, veya yüklü değilse, -1. The zero-based starting index position of value if that string is found, or -1 if it is not. Varsa value olduğu Empty, bu örnekte son dizin konumuna dönüş değeridir. If value is Empty, the return value is the last index position in this instance.

Özel Durumlar

Örnekler

Aşağıdaki örnek, açılış ve kapanış etiketleri başlarsa bir dize ve dize sonu HTML etiketlerini kaldırır.The following example removes opening and closing HTML tags from a string if the tags begin and end the string. Bir dize bir kapanış ile bitiyorsa karakteri köşeli ayraç (">"), örnekte LastIndexOf bitiş etiketi başlangıcını bulmak için yöntemi.If a string ends with a closing bracket character (">"), the example uses the LastIndexOf method to locate the start of the end tag.

using System;

public class Example 
{
   public static void Main() 
   {
      string[] strSource = { "<b>This is bold text</b>", "<H1>This is large Text</H1>",
               "<b><i><font color=green>This has multiple tags</font></i></b>",
               "<b>This has <i>embedded</i> tags.</b>",
               "This line ends with a greater than symbol and should not be modified>" };

      // Strip HTML start and end tags from each string if they are present.
      foreach (string s in strSource)
      {
         Console.WriteLine("Before: " + s);
         string item = s;
         // Use EndsWith to find a tag at the end of the line.
         if (item.Trim().EndsWith(">")) 
         {
            // Locate the opening tag.
            int endTagStartPosition = item.LastIndexOf("</");
            // Remove the identified section, if it is valid.
            if (endTagStartPosition >= 0 )
               item = item.Substring(0, endTagStartPosition);

            // Use StartsWith to find the opening tag.
            if (item.Trim().StartsWith("<"))
            {
               // Locate the end of opening tab.
               int openTagEndPosition = item.IndexOf(">");
               // Remove the identified section, if it is valid.
               if (openTagEndPosition >= 0)
                  item = item.Substring(openTagEndPosition + 1);
            }      
         }
         // Display the trimmed string.
         Console.WriteLine("After: " + item);
         Console.WriteLine();
      }                   
   }
}
// The example displays the following output:
//    Before: <b>This is bold text</b>
//    After: This is bold text
//    
//    Before: <H1>This is large Text</H1>
//    After: This is large Text
//    
//    Before: <b><i><font color=green>This has multiple tags</font></i></b>
//    After: <i><font color=green>This has multiple tags</font></i>
//    
//    Before: <b>This has <i>embedded</i> tags.</b>
//    After: This has <i>embedded</i> tags.
//    
//    Before: This line ends with a greater than symbol and should not be modified>
//    After: This line ends with a greater than symbol and should not be modified>
Module Example
   Public Sub Main()
      Dim strSource As String() = { "<b>This is bold text</b>", _
                    "<H1>This is large Text</H1>", _
                    "<b><i><font color=green>This has multiple tags</font></i></b>", _
                    "<b>This has <i>embedded</i> tags.</b>", _
                    "This line ends with a greater than symbol and should not be modified>" }

      ' Strip HTML start and end tags from each string if they are present.
      For Each s As String In strSource
         Console.WriteLine("Before: " + s)
         ' Use EndsWith to find a tag at the end of the line.
         If s.Trim().EndsWith(">") Then 
            ' Locate the opening tag.
            Dim endTagStartPosition As Integer = s.LastIndexOf("</")
            ' Remove the identified section if it is valid.
            If endTagStartPosition >= 0 Then
               s = s.Substring(0, endTagStartPosition)
            End If
            
            ' Use StartsWith to find the opening tag.
            If s.Trim().StartsWith("<") Then
               ' Locate the end of opening tab.
               Dim openTagEndPosition As Integer = s.IndexOf(">")
               ' Remove the identified section if it is valid.
               If openTagEndPosition >= 0 Then
                  s = s.Substring(openTagEndPosition + 1)
               End If   
            End If      
         End If
         ' Display the trimmed string.
         Console.WriteLine("After: " + s)
         Console.WriteLine()
      Next                   
   End Sub
End Module
' The example displays the following output:
'    Before: <b>This is bold text</b>
'    After: This is bold text
'    
'    Before: <H1>This is large Text</H1>
'    After: This is large Text
'    
'    Before: <b><i><font color=green>This has multiple tags</font></i></b>
'    After: <i><font color=green>This has multiple tags</font></i>
'    
'    Before: <b>This has <i>embedded</i> tags.</b>
'    After: This has <i>embedded</i> tags.
'    
'    Before: This line ends with a greater than symbol and should not be modified>
'    After: This line ends with a greater than symbol and should not be modified>

Açıklamalar

Dizin numaralandırması sıfırdan başlar.Index numbering starts from zero. Yani dizedeki ilk karakter sıfır dizininde ise ve son altındadır Length - 1.That is, the first character in the string is at index zero and the last is at Length - 1.

Arama bu örneğinin son karakter konumunda başlar ve ya da kadar başına doğru geriye doğru devam eder value bulunamadı veya ilk karakter konumunu incelenir.The search begins at the last character position of this instance and proceeds backward toward the beginning until either value is found or the first character position has been examined.

Bu yöntem, geçerli kültür kullanılarak bir sözcük (büyük/küçük harfe ve kültüre duyarlı) araması gerçekleştirir.This method performs a word (case-sensitive and culture-sensitive) search using the current culture.

Karakter kümeleri, dilbilimsel veya kültüre duyarlı bir karşılaştırma yapılırken dikkate alınmayan karakterler olan yok sayılabilir karakterler içerir.Character sets include ignorable characters, which are characters that are not considered when performing a linguistic or culture-sensitive comparison. Kültüre duyarlı aramada, value yoksayılabilir bir karakter içeriyorsa, sonuç o karakter kaldırılmış aramaya eşdeğerdir.In a culture-sensitive search, if value contains an ignorable character, the result is equivalent to searching with that character removed. Varsa value yalnızca bir veya daha fazla Ignorable karakterlerinden oluşur LastIndexOf(String) yöntemi her zaman döndürür String.Length – son dizin konumu geçerli örneği temsil eden 1.If value consists only of one or more ignorable characters, the LastIndexOf(String) method always returns String.Length – 1, which represents the last index position in the current instance. Aşağıdaki örnekte, LastIndexOf(String) yöntemi (hece ayırma çizgisi (U + 00AD), "n" tarafından izlenen hece ayırma çizgisi ve "m" harfinin hece ayırma çizgisi) üç alt dizeleri iki dizeleri bulmak için kullanılır.In the following example, the LastIndexOf(String) method is used to find three substrings (a soft hyphen (U+00AD), a soft hyphen followed by "n", and a soft hyphen followed by "m") in two strings. Dizelerin yalnızca birinde hece ayırma çizgisi var.Only one of the strings contains a soft hyphen. Örnek çalıştırılırsa .NET Framework 4.NET Framework 4 veya hece ayırma çizgisi yoksayılabilir bir karakter olduğundan hece ayırma çizgisinin dahil değil, daha sonra her durumda sonuç aynı value.If the example is run on the .NET Framework 4.NET Framework 4 or later, in each case, because the soft hyphen is an ignorable character, the result is the same as if the soft hyphen had not been included in value. Hece ayırma çizgisi için yalnızca arama yaparken yöntem 5 ve 6 döndürür.When searching for a soft hyphen only, the method returns 6 and 5. Bu değerleri iki dizenin son karakter dizinini karşılık gelir.These values correspond to the index of the last character in the two strings.

using System;

public class Example
{
   public static void Main()
   {
      string s1 = "ani\u00ADmal";
      string s2 = "animal";
      
      // Find the index of the last soft hyphen.
      Console.WriteLine(s1.LastIndexOf("\u00AD"));
      Console.WriteLine(s2.LastIndexOf("\u00AD"));
      
      // Find the index of the last soft hyphen followed by "n".
      Console.WriteLine(s1.LastIndexOf("\u00ADn"));
      Console.WriteLine(s2.LastIndexOf("\u00ADn"));
      
      // Find the index of the last soft hyphen followed by "m".
      Console.WriteLine(s1.LastIndexOf("\u00ADm"));
      Console.WriteLine(s2.LastIndexOf("\u00ADm"));
   }
}
// The example displays the following output:
//       6
//       5
//       1
//       1
//       4
//       3
Module Example
   Public Sub Main()
      Dim softHyphen As String = ChrW(&h00AD)
      Dim s1 As String = "ani" + softHyphen + "mal"
      Dim s2 As String = "animal"
      
      ' Find the index of the last soft hyphen.
      Console.WriteLine(s1.LastIndexOf(softHyphen))
      Console.WriteLine(s2.LastIndexOf(softHyphen))
      
      ' Find the index of the last soft hyphen followed by "n".
      Console.WriteLine(s1.LastIndexOf(softHyphen + "n"))
      Console.WriteLine(s2.LastIndexOf(softHyphen + "n"))
      
      ' Find the index of the last soft hyphen followed by "m".
      Console.WriteLine(s1.LastIndexOf(softHyphen + "m"))
      Console.WriteLine(s2.LastIndexOf(softHyphen + "m"))
   End Sub
End Module
' The example displays the following output:
'       6
'       5
'       1
'       1
'       4
'       3

Arayanlara Notlar

İçinde anlatıldığı gibi kullanarak dizeleri için en iyi, bunun yerine parametrelerin açık şekilde belirtilmesini gerektiren yöntemleri çağırmak ve varsayılan değerlerin yerine geçen dize karşılaştırma yöntemlerini çağırmaktan kaçınmanızı öneririz. As explained in Best Practices for Using Strings, we recommend that you avoid calling string comparison methods that substitute default values and instead call methods that require parameters to be explicitly specified. Geçerli kültürün karşılaştırma kurallarını kullanarak son dizininin bir alt dizenin bir dize örneğinde bulmak için arama LastIndexOf(String, StringComparison) yöntemi aşırı yüklemesini değeriyle CurrentCulture için kendi comparisonType parametresi. To find the last index of a substring within a string instance by using the comparison rules of the current culture, call the LastIndexOf(String, StringComparison) method overload with a value of CurrentCulture for its comparisonType parameter.

Ayrıca Bkz.

LastIndexOf(Char) LastIndexOf(Char) LastIndexOf(Char) LastIndexOf(Char)

Bu örneği içinde belirtilen bir Unicode karakter son oluşum sıfır tabanlı dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance.

public:
 int LastIndexOf(char value);
public int LastIndexOf (char value);
member this.LastIndexOf : char -> int
Public Function LastIndexOf (value As Char) As Integer
Parametreler
value
Char Char Char Char

Aranacak Unicode karakteri. The Unicode character to seek.

Döndürülenler

Öğesinin sıfır tabanlı dizin konumu value bu karakter bulunursa veya yüklü değilse, -1. The zero-based index position of value if that character is found, or -1 if it is not.

Örnekler

Aşağıdaki örnekte tanımlayan bir ExtractFilename kullanan yöntemi LastIndexOf(Char) yöntemi bir dizedeki son dizin ayırıcı karakterde bulmak ve dizenin dosya adı ayıklanamıyor.The following example defines an ExtractFilename method that uses the LastIndexOf(Char) method to find the last directory separator character in a string and to extract the string's file name. Dosya varsa yöntem yol olmadan dosya adını döndürür.If the file exists, the method returns the file name without its path.

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;
      }
   }
}
Imports System.IO

Public Module Test
   Public Sub Main()
      Dim filename As String 
      
      filename = ExtractFilename("C:\temp\")
      Console.WriteLine("{0}", IIf(String.IsNullOrEmpty(fileName), "<none>", filename))
      
      filename = ExtractFilename("C:\temp\delegate.txt") 
      Console.WriteLine("{0}", IIf(String.IsNullOrEmpty(fileName), "<none>", filename))

      filename = ExtractFilename("delegate.txt")      
      Console.WriteLine("{0}", IIf(String.IsNullOrEmpty(fileName), "<none>", filename))
      
      filename = ExtractFilename("C:\temp\notafile.txt")
      Console.WriteLine("{0}", IIf(String.IsNullOrEmpty(fileName), "<none>", filename))
   End Sub
   
   Public Function ExtractFilename(filepath As String) As String
      ' If path ends with a "\", it's a path only so return String.Empty.
      If filepath.Trim().EndsWith("\") Then Return String.Empty
      
      ' Determine where last backslash is.
      Dim position As Integer = filepath.LastIndexOf("\"c)
      ' If there is no backslash, assume that this is a filename.
      If position = -1 Then
         ' Determine whether file exists in the current directory.
         If File.Exists(Environment.CurrentDirectory + Path.DirectorySeparatorChar + filepath) Then
            Return filepath
         Else
            Return String.Empty
         End If
      Else
         ' Determine whether file exists using filepath.
         If File.Exists(filepath) Then
            ' Return filename without file path.
            Return filepath.Substring(position + 1)
         Else
            Return String.Empty
         End If                     
      End If
   End Function
End Module 
' The example displays the following output:
'        delegate.txt

Açıklamalar

Dizin numaralandırması sıfırdan başlar.Index numbering starts from zero. Yani dizedeki ilk karakter sıfır dizininde ise ve son altındadır Length - 1.That is, the first character in the string is at index zero and the last is at Length - 1.

Bu yöntem, arama bu örneğinin son karakter konumunda başlar ve ya da kadar başına doğru geriye doğru devam eder value bulunamadı veya ilk karakter konumunu incelenir.This method begins searching at the last character position of this instance and proceeds backward toward the beginning until either value is found or the first character position has been examined. Arama büyük/küçük harfe duyarlıdır.The search is case-sensitive.

Bu yöntem, yalnızca kendi Unicode skalar değerleri aynıysa, bir karakterin başka bir karaktere eşit kabul edildiği bir sıra (kültür duyarlı olmayan) araması gerçekleştirir.This method performs an ordinal (culture-insensitive) search, where a character is considered equivalent to another character only if their Unicode scalar values are the same. Bir kültüre duyarlı arama yapmak için kullanın CompareInfo.LastIndexOf burada bir önceden oluşturulmuş gibi karakter bağ "Æ" (U + 00 C 6) temsil eden Unicode skalar değer olarak kabul edilir karakterin bileşenlerde tüm oluşumlarıyla eşdeğer yöntemi düzeltin "AE" gibi bir sıra (U + 0041, U + 0045) kültürü bağlı olarak.To perform a culture-sensitive search, use the CompareInfo.LastIndexOf method, where a Unicode scalar value representing a precomposed character, such as the ligature "Æ" (U+00C6), might be considered equivalent to any occurrence of the character's components in the correct sequence, such as "AE" (U+0041, U+0045), depending on the culture.

Ayrıca Bkz.

LastIndexOf(String, Int32) LastIndexOf(String, Int32) LastIndexOf(String, Int32) LastIndexOf(String, Int32)

Bu örnekte belirtilen bir dizenin son ortaya çıkışına ilişkin sıfır tabanlı bir dizin konumunu rapor eder. Reports the zero-based index position of the last occurrence of a specified string within this instance. Arama, belirtilen karakter konumunda başlar ve dizenin başına doğru geriye gider. The search starts at a specified character position and proceeds backward toward the beginning of the string.

public:
 int LastIndexOf(System::String ^ value, int startIndex);
public int LastIndexOf (string value, int startIndex);
member this.LastIndexOf : string * int -> int
Public Function LastIndexOf (value As String, startIndex As Integer) As Integer
Parametreler
value
String String String String

Aranacak dize. The string to seek.

startIndex
Int32 Int32 Int32 Int32

Arama başlama konumu. The search starting position. Gelen arama geçer startIndex bu örneğin başlangıcına doğru. The search proceeds from startIndex toward the beginning of this instance.

Döndürülenler

Sıfır tabanlı başlangıç dizini konumu value Bu dize bulunursa veya -1, bulunamadı veya geçerli örneğe eşitse Empty. The zero-based starting index position of value if that string is found, or -1 if it is not found or if the current instance equals Empty. Varsa value olduğu Empty, dönüş değeri, daha küçük olan startIndex ve bu örneğinde son dizin konumu. If value is Empty, the return value is the smaller of startIndex and the last index position in this instance.

Özel Durumlar

Geçerli örnekle eşit olmadığı Empty, ve startIndex sıfırdan küçük veya geçerli örneğin uzunluğundan büyük. The current instance does not equal Empty, and startIndex is less than zero or greater than the length of the current instance. veya -or- Geçerli örnekle eşit Empty, ve startIndex -1'den veya sıfırdan küçüktür. The current instance equals Empty, and startIndex is less than -1 or greater than zero.

Örnekler

Aşağıdaki örnek bir dizenin tüm oluşumları dizinini hedef dize, hedef dizenin başlangıcına kadar hedef dizenin sonundan çalışma bulur.The following example finds the index of all occurrences of a string in target string, working from the end of the target string to the start of the target string.

// Sample for String::LastIndexOf(String, Int32)
using namespace System;
int 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;
   start = str->Length - 1;
   Console::WriteLine( "All occurrences of 'he' from position {0} to 0.", start );
   Console::WriteLine( "{0}\n{1}\n{2}\n", br1, br2, str );
   Console::Write( "The string 'he' occurs at position(s): " );
   at = 0;
   while ( (start > -1) && (at > -1) )
   {
      at = str->LastIndexOf( "he", start );
      if ( at > -1 )
      {
         Console::Write( " {0} ", at );
         start = at - 1;
      }
   }

   Console::WriteLine();
}

/*
This example produces the following results:
All occurrences of 'he' from position 66 to 0.
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 string 'he' occurs at position(s):  56  45  8
*/
// Sample for String.LastIndexOf(String, 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;

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

    at = 0;
    while((start > -1) && (at > -1))
        {
        at = str.LastIndexOf("he", start);
        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 'he' from position 66 to 0.
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 string 'he' occurs at position(s): 56 45 8


*/
' Sample for String.LastIndexOf(String, Int32)
Imports System
 _

Class Sample
   
   Public Shared Sub Main()
      
      Dim br1 As String = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-"
      Dim br2 As String = "0123456789012345678901234567890123456789012345678901234567890123456"
      Dim str As String = "Now is the time for all good men to come to the aid of their party."
      Dim start As Integer
      Dim at As Integer

      '#3
      start = str.Length - 1
      Console.WriteLine("All occurrences of 'he' from position {0} to 0.", start)
      Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str)
      Console.Write("The string 'he' occurs at position(s): ")
      
      at = 0
      While start > - 1 And at > - 1
         at = str.LastIndexOf("he", start)
         If at > - 1 Then
            Console.Write("{0} ", at)
            start = at - 1
         End If
      End While
      Console.Write("{0}{0}{0}", Environment.NewLine)
   End Sub 'Main 
End Class 'Sample
'
'This example produces the following results:
'All occurrences of 'he' from position 66 to 0.
'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 string 'he' occurs at position(s): 56 45 8
'
'

Açıklamalar

Dizin numaralandırması sıfırdan başlar.Index numbering starts from zero. Yani dizedeki ilk karakter sıfır dizininde ise ve son altındadır Length - 1.That is, the first character in the string is at index zero and the last is at Length - 1.

Aramanın başlangıcı startIndex karakter konumu bu örnek ve devam eder ya da kadar başına doğru geriye dönük value bulunamadı veya ilk karakter konumunu incelenir.The search begins at the startIndex character position of this instance and proceeds backward toward the beginning until either value is found or the first character position has been examined. Örneğin, varsa startIndex olduğu Length - 1, son karakter yer alan her bir karakter dizesini yöntemi arar.For example, if startIndex is Length - 1, the method searches every character from the last character in the string to the beginning.

Bu yöntem, geçerli kültür kullanılarak bir sözcük (büyük/küçük harfe ve kültüre duyarlı) araması gerçekleştirir.This method performs a word (case-sensitive and culture-sensitive) search using the current culture.

Karakter kümeleri, dilbilimsel veya kültüre duyarlı bir karşılaştırma yapılırken dikkate alınmayan karakterler olan yok sayılabilir karakterler içerir.Character sets include ignorable characters, which are characters that are not considered when performing a linguistic or culture-sensitive comparison. Kültüre duyarlı aramada, value yoksayılabilir bir karakter içeriyorsa, sonuç o karakter kaldırılmış aramaya eşdeğerdir.In a culture-sensitive search, if value contains an ignorable character, the result is equivalent to searching with that character removed. Varsa value yalnızca bir veya daha fazla Ignorable karakterlerinden oluşur LastIndexOf(String, Int32) yöntemi her zaman döndürür startIndex, arama başlar karakterin konumu olduğu.If value consists only of one or more ignorable characters, the LastIndexOf(String, Int32) method always returns startIndex, which is the character position at which the search begins. Aşağıdaki örnekte, LastIndexOf(String, Int32) yöntemi önünde veya son "m" içeren bir dizede hece ayırma çizgisi (U + 00AD) içeren ve bir alt dizeyi bulmak için kullanılır.In the following example, the LastIndexOf(String, Int32) method is used to find a substring that includes a soft hyphen (U+00AD) and that precedes or includes the final "m" in a string. Örnek çalıştırılırsa .NET Framework 4.NET Framework 4 veya arama dizede hece ayırma çizgisinin göz ardı edilir çünkü daha sonra yöntemin hece ayırma çizgisi ve "m" oluşan bir alt dizenin dizesinde "m" konumunu döndürür, oysa bir substrin bulmak için arama bulmak için arama hece ayırma çizgisi ve oluşan "n" g "n" konumunu döndürür.If the example is run on the .NET Framework 4.NET Framework 4 or later, because the soft hyphen in the search string is ignored, calling the method to find a substring that consists of the soft hyphen and "m" returns the position of the "m" in the string, whereas calling it to find a substring that consists of the soft hyphen and "n" returns the position of the "n". Arama dizesi hece ayırma çizgisi içeriyorsa, yöntem "değerini temsil eden m", indisini döndürür startIndex.When the search string contains only the soft hyphen, the method returns the index of the "m", which represents the value of startIndex.

using System;

public class Example
{
   public static void Main()
   {
      int position = 0;
      string s1 = "ani\u00ADmal";
      string s2 = "animal";
      
      // Find the index of the soft hyphen.
      position = s1.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)
         Console.WriteLine(s1.LastIndexOf("\u00AD", position));

      position = s2.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)   
         Console.WriteLine(s2.LastIndexOf("\u00AD", position));
      
      // Find the index of the soft hyphen followed by "n".
      position = s1.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)
         Console.WriteLine(s1.LastIndexOf("\u00ADn", position));

      position = s2.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)   
         Console.WriteLine(s2.LastIndexOf("\u00ADn", position));
      
      // Find the index of the soft hyphen followed by "m".
      position = s1.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)
         Console.WriteLine(s1.LastIndexOf("\u00ADm", position));

      position = s2.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)   
         Console.WriteLine(s2.LastIndexOf("\u00ADm", position));
   }
}
// The example displays the following output:
//       'm' at position 4
//       4
//       'm' at position 3
//       3
//       'm' at position 4
//       1
//       'm' at position 3
//       1
//       'm' at position 4
//       4
//       'm' at position 3
//       3
Module Example
   Public Sub Main()
      Dim position As Integer
      Dim softHyphen As String = ChrW(&h00AD)
      Dim s1 As String = "ani" + softHyphen + "mal"
      Dim s2 As String = "animal"
      
      ' Find the index of the soft hyphen.
      position = s1.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s1.LastIndexOf(softHyphen, position))
      End If
         
      position = s2.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s2.LastIndexOf(softHyphen, position))
      End If
      
      ' Find the index of the soft hyphen followed by "n".
      position = s1.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s1.LastIndexOf(softHyphen + "n", position))
      End If
         
      position = s2.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s2.LastIndexOf(softHyphen + "n", position))
      End If
      
      ' Find the index of the soft hyphen followed by "m".
      position = s1.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s1.LastIndexOf(softHyphen + "m", position))
      End If
      
      position = s2.LastIndexOf("m")
      Console.WriteLine("'m' at position {0}", position)
      If position >= 0 Then
         Console.WriteLine(s2.LastIndexOf(softHyphen + "m", position))
      End If
   End Sub
End Module
' The example displays the following output:
'       'm' at position 4
'       4
'       'm' at position 3
'       3
'       'm' at position 4
'       1
'       'm' at position 3
'       1
'       'm' at position 4
'       4
'       'm' at position 3
'       3

Arayanlara Notlar

İçinde anlatıldığı gibi kullanarak dizeleri için en iyi, bunun yerine parametrelerin açık şekilde belirtilmesini gerektiren yöntemleri çağırmak ve varsayılan değerlerin yerine geçen dize karşılaştırma yöntemlerini çağırmaktan kaçınmanızı öneririz. As explained in Best Practices for Using Strings, we recommend that you avoid calling string comparison methods that substitute default values and instead call methods that require parameters to be explicitly specified. Belirli karakter konumu geçerli kültürün karşılaştırma kurallarını kullanarak önünde bir alt dizenin bir dizin bulmak için arama LastIndexOf(String, Int32, StringComparison) yöntemi aşırı yüklemesini değeriyle CurrentCulture için kendi comparisonType parametresi. To find the index of a substring that precedes a particular character position by using the comparison rules of the current culture, call the LastIndexOf(String, Int32, StringComparison) method overload with a value of CurrentCulture for its comparisonType parameter.

Ayrıca Bkz.

Şunlara uygulanır