이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

String.IndexOf 메서드 (String, StringComparison)

현재 String 개체에서 맨 처음 발견되는 지정된 문자열의 인덱스(0부터 시작)를 보고합니다. 매개 변수는 지정된 문자열에 사용할 검색 유형을 지정합니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)

public int IndexOf(
	string value,
	StringComparison comparisonType
)

매개 변수

value
형식: System.String
검색할 문자열입니다.
comparisonType
형식: System.StringComparison
검색 규칙을 지정하는 열거형 값 중 하나입니다.

반환 값

형식: System.Int32
문자열이 있으면 value 매개 변수의 인덱스 위치이고, 그렇지 않으면 -1입니다. valueEmpty인 경우 반환 값은 0입니다.

예외조건
ArgumentNullException

valuenull입니다.

ArgumentException

comparisonType은(는) 올바른 System.StringComparison 값이 아닙니다.

인덱스 번호는 0부터 시작합니다.

comparisonType 매개 변수는 현재 문화권 또는 고정 문화권을 사용하고, 대/소문자를 구분하거나 대/소문자를 구분하지 않는 검색을 사용하고, 단어 또는 서수 비교 규칙을 사용하여 value 매개 변수를 검색하도록 지정합니다.

호출자 참고 사항

문자 집합에는 무시할 수 있는 문자가 포함되며, 이들 문자는 언어 또는 문화권 구분 비교를 수행하는 경우 고려되지 않습니다. 문화권 구분 검색(즉, comparisonTypeStringComparison.Ordinal 또는 StringComparison.OrdinalIgnoreCase가 아닌 경우)에서는 value에 무시할 수 있는 문자가 포함된 경우 결과는 해당 문자가 제거된 대상을 검색하는 것과 같습니다. 만일 value 이 하나 또는 그 이상의 무시할 수 있는 문자들로 간주될 수 있다면, IndexOf(String, StringComparison) 메서드는 항상 현재 인스터스의 맨 앞이 일치하는 것을 나타내기 위해 항상 0을 반환합니다.

다음 예제에서는 IndexOf(String, StringComparison) 메서드가 두 문자열의 세 부분 (소프트 하이픈 (U + 00AD), 소프트 하이픈 뒤에 "n" 및 "m" 뒤에 하이픈)를 찾는 데 사용 됩니다. 문자열 중 하나에만 사용자 지정 하이픈이 포함되어 있습니다. 이 예제를 실행 하는 경우는 .NET Framework 4 나중에 무시할 수 있는 문자를 소프트 하이픈 이므로 문화권 구분 검색을 반환 하거나 소프트 하이픈 검색 문자열에 포함 되지 않은 경우 반환 된 값과 동일 합니다. 그러나 서수 검색은 한 문자열에서 성공적으로 소프트 하이픈을 찾고, 두번째 문자열부터 없다는 것을 알립니다.


using System;

public class Example
{
   public static void Main()
   {
      string s1 = "ani\u00ADmal";
      string s2 = "animal";

      Console.WriteLine("Culture-sensitive comparison:");
      // Use culture-sensitive comparison to find the soft hyphen.
      Console.WriteLine(s1.IndexOf("\u00AD", StringComparison.CurrentCulture));
      Console.WriteLine(s2.IndexOf("\u00AD", StringComparison.CurrentCulture));

      // Use culture-sensitive comparison to find the soft hyphen followed by "n".
      Console.WriteLine(s1.IndexOf("\u00ADn", StringComparison.CurrentCulture));
      Console.WriteLine(s2.IndexOf("\u00ADn", StringComparison.CurrentCulture));

      // Use culture-sensitive comparison to find the soft hyphen followed by "m".
      Console.WriteLine(s1.IndexOf("\u00ADm", StringComparison.CurrentCulture));
      Console.WriteLine(s2.IndexOf("\u00ADm", StringComparison.CurrentCulture));

      Console.WriteLine("Ordinal comparison:");
      // Use ordinal comparison to find the soft hyphen.
      Console.WriteLine(s1.IndexOf("\u00AD", StringComparison.Ordinal));
      Console.WriteLine(s2.IndexOf("\u00AD", StringComparison.Ordinal));

      // Use ordinal comparison to find the soft hyphen followed by "n".
      Console.WriteLine(s1.IndexOf("\u00ADn", StringComparison.Ordinal));
      Console.WriteLine(s2.IndexOf("\u00ADn", StringComparison.Ordinal));

      // Use ordinal comparison to find the soft hyphen followed by "m".
      Console.WriteLine(s1.IndexOf("\u00ADm", StringComparison.Ordinal));
      Console.WriteLine(s2.IndexOf("\u00ADm", StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       Culture-sensitive comparison:
//       0
//       0
//       1
//       1
//       4
//       3
//       Ordinal comparison:
//       3
//       -1
//       -1
//       -1
//       3
//       -1


다음 예제에서는 StringComparison 열거형의 여러 값을 사용하여 다른 문자열 안에 처음 나타나는 문자열을 찾는 IndexOf 메서드의 세 가지 오버로드를 보여 줍니다.


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

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

class Sample 
{
    public static void Main() 
    {
    string intro = "Find the first 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 StringComparison. Specify the start 
// index and count. 

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

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

// Search using different values of StringComparison. 
    Console.WriteLine("\nPart 3: Neither start index nor count is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.IndexOf(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 first 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

*/


.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows Phone 앱용 .NET

Windows Phone 8, Silverlight 8.1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

표시:
© 2015 Microsoft