이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

String.Compare 메서드 (String, String, Boolean)

 

대/소문자를 구분하거나 구분하지 않고 지정된 두 String 개체를 비교하여 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다.

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

public static int Compare(
	string strA,
	string strB,
	bool ignoreCase
)

매개 변수

strA
Type: System.String

비교할 첫째 문자열입니다.

strB
Type: System.String

비교할 둘째 문자열입니다.

ignoreCase
Type: System.Boolean

비교 시 대/소문자를 무시하려면 true이고, 그러지 않으면 false입니다.

반환 값

Type: System.Int32

두 비교 대상 간의 어휘 관계를 나타내는 32비트 부호 있는 정수입니다.

조건

0보다 작음

strA가 정렬 순서에서 strB 앞에 오는 경우

0

strA가 정렬 순서에서 strB와 동일한 위치에서 발생합니다.

0보다 큼

strA가 정렬 순서에서 strB 뒤에 오는 경우

비교 현재 문화권을 사용 하 여 대/소문자 규칙 및 개별 문자의 알파벳 순서 등의 문화권 관련 정보를 얻습니다. 예를 들어 문자의 정렬 순서를 앞 이나 뒤에 있는 문자에 따라 결정 하거나에 특정 문자 조합을 단일 문자로 처리 또는 대문자 및 소문자 특별 한 방식에서으로 비교는 culture 지정 합니다.

단어 정렬 규칙을 사용 하 여 비교 합니다. Word, 문자열 및 서 수 정렬 하는 방법에 대 한 자세한 내용은 참조 System.Globalization.CompareOptions합니다.

System_CAPS_warning경고

문자열을 비교할 때 호출 해야는 Compare(String, String, StringComparison) 메서드에서 사용 하는 문자열 비교의 형식을 명시적으로 지정 하는 시켜야 하는 방법입니다. 자세한 내용은 .NET Framework에서 문자열 사용에 대한 유용한 정보을 참조하십시오.

하나 또는 둘 다 비교 대상이 null합니다. 기본적으로 모든 문자열을 포함 하 여 빈 문자열 (""), null 참조; 보다 큰 것으로 간주 서로 다른 두 개의 null 참조 비교 합니다.

비교 또는 같지 않음 검색은 모두 문자열 요소가 비교 된 때를 종료 합니다. 그러나 두 문자열이 한 문자열의 끝을 비교 하는 경우 다른 문자열에 문자가 남아 다음 문자가 남아 있는 문자열은 큰 것으로 간주 합니다. 반환 값은 마지막으로 수행한 비교의 결과입니다.

비교는 대/소문자 culture 별 규칙에 의해 영향을 예기치 않은 결과가 발생할 수 있습니다. 예를 들어, 터키어, 다음 예제에서는 잘못 된 결과가 발생의 파일 시스템에서 문자 "i"에 대 한 대/소문자 규칙을 사용 하지 않으므로 "file"의 합니다.

static bool IsFileURI(String path)
{
    return (String.Compare(path, 0, "file:", 0, 5, true) == 0);
}

"file"는 서 수 비교를 사용 하 여 경로 이름을 비교 합니다. 이 작업을 수행 하는 올바른 코드는 다음과 같습니다.

static bool IsFileURI(String path)
{
    return (String.Compare(path, 0, "file:", 0, 5, StringComparison.OrdinalIgnoreCase) == 0);
}

호출자 참고 사항:

문자 집합에는 무시할 수 있는 문자가 포함됩니다. Compare(String, String, Boolean) 메서드는 문화권 구분 비교를 수행 하는 경우 이러한 문자를 고려 하지 않습니다. 예를 들어, 다음 코드에서 실행 되는 .NET Framework 4 또는 이상 버전에서는 "동물"와 "Ani 메일" (소프트 하이픈 또는 U + 00AD 사용)의 문화권을 구분, 대/소문자 비구분 비교 두 문자열은 해당을 나타냅니다.

using System;

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

      Console.WriteLine("Comparison of '{0}' and '{1}': {2}", 
                        s1, s2, String.Compare(s1, s2, true));
   }
}
// The example displays the following output:
//       Comparison of 'ani-mal' and 'animal': 0

문자열 비교에서 무시할 수 있는 문자를 인식 하려면 호출는Compare메서드 중 하나의 값을 제공 하 고 CompareOptions.Ordinal 또는 CompareOptions.OrdinalIgnoreCase 에 대 한는 comparisonType 매개 변수입니다.

다음 예제에서는 하는 Compare(String, String, Boolean) 사용 하는 것과 같습니다 ToUpper 또는 ToLower 문자열을 비교할 때.

using System;

class Example
{
   static void Main()
   {
      // Create upper-case characters from their Unicode code units.
      String stringUpper = "\x0041\x0042\x0043";

      // Create lower-case characters from their Unicode code units.
      String stringLower = "\x0061\x0062\x0063";

      // Display the strings.
      Console.WriteLine("Comparing '{0}' and '{1}':", 
                        stringUpper, stringLower);

      // Compare the uppercased strings; the result is true.
      Console.WriteLine("The Strings are equal when capitalized? {0}",
                        String.Compare(stringUpper.ToUpper(), stringLower.ToUpper()) == 0 
                                       ? "true" : "false");

      // The previous method call is equivalent to this Compare method, which ignores case.
      Console.WriteLine("The Strings are equal when case is ignored? {0}",
                        String.Compare(stringUpper, stringLower, true) == 0
                                       ? "true" : "false" );
   }
} 
// The example displays the following output:
//       Comparing 'ABC' and 'abc':
//       The Strings are equal when capitalized? true
//       The Strings are equal when case is ignored? true

유니버설 Windows 플랫폼
10 이후 사용 가능
.NET Framework
1.1 이후 사용 가능
맨 위로 이동
표시: