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

String.Compare 메서드 (String, String, CultureInfo, CompareOptions)

지정된 두 String 개체를 비교하고 정렬 순서에서 두 문자열 간의 관계를 나타내는 정수를 반환합니다. 지정된 비교 옵션 및 문화권별 정보가 비교에 영향을 줍니다.

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

public static int Compare(
	string strA,
	string strB,
	CultureInfo culture,
	CompareOptions options
)

매개 변수

strA
형식: System.String
첫 번째 문자열입니다.
strB
형식: System.String
두 번째 문자열입니다.
culture
형식: System.Globalization.CultureInfo
문화권별 비교 정보를 제공하는 문화권입니다.
options
형식: System.Globalization.CompareOptions
대/소문자 또는 기호 무시 여부와 같이 비교를 수행할 때 사용할 옵션입니다.

반환 값

형식: System.Int32
strAstrB 간의 어휘 관계를 나타내는 32비트 부호 있는 정수를 반환합니다.

상황

0보다 작음

strAstrB보다 작은 경우

0

strAstrB와 같은 경우

0보다 큼

strAstrB보다 큰 경우

예외상황
ArgumentException

optionsCompareOptions 값이 아닌 경우

ArgumentNullException

culturenull인 경우

비교하는 경우 culture 매개 변수를 사용하여 개별 문자의 대/소문자 규칙과 사전순 등의 문화권별 정보를 얻습니다. 예를 들어 특정 문화권에서는 특정 문자 조합을 단일 문자로 처리하거나, 대/소문자를 특별한 방식으로 비교하거나, 문자의 정렬 순서를 앞이나 뒤에 있는 문자에 따라 결정하도록 지정할 수 있습니다.

주의 정보주의:

Compare(String, String, CultureInfo, CompareOptions) 메서드는 주로 사전순으로 정렬하는 작업에 사용하도록 설계되었습니다. 두 문자열이 동일한지 여부를 확인할 용도로는 이 메서드를 사용하지 말아야 합니다. 즉, 이 메서드를 호출하여 반환 값이 0인지 테스트하지 말아야 합니다. 두 문자열이 같은지를 확인하려면 Equals 메서드를 호출합니다.

options 매개 변수를 통해 비교를 자세히 지정할 수 있습니다. 이 매개 변수는 하나 이상의 CompareOptions 열거형 멤버로 구성됩니다. 그러나 이 메서드의 용도는 문화권 구분 문자열 비교를 수행하는 것이므로 CompareOptions.OrdinalCompareOptions.OrdinalIgnoreCase 값은 효과가 없습니다.

하나 또는 두 비교 대상이 null일 수 있습니다. 정의에 따르면 String.Empty를 비롯한 모든 문자열은 null 참조보다 큰 것으로 간주되고, 두 null 참조는 서로 같은 것으로 간주됩니다.

불일치가 발견되거나 두 문자열 비교가 완료되면 비교가 종결됩니다. 그러나 문자열 중 하나를 끝까지 비교한 결과 두 문자열이 같은데 다른 문자열에 문자가 남아 있는 경우 문자가 남아 있는 문자열이 더 큰 것으로 간주됩니다.

다음 예제에서는 두 문자열을 서로 다른 세 가지 방법으로 비교합니다. 즉 en-US 문화권에 따른 언어 비교, en-US 문화권에 따른 대/소문자 구분 언어 비교 및 서수 비교를 사용합니다. 이 예제에서는 세 가지 비교 방법을 통한 서로 다른 세 가지 결과를 보여 줍니다.


using System;
using System.Globalization;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      string string1 = "brother";
      string string2 = "Brother";
      string relation;
      int result;

      // Cultural (linguistic) comparison.
      result = String.Compare(string1, string2, new CultureInfo("en-US"), 
                              CompareOptions.None);
      if (result > 0)
         relation = "comes after";
      else if (result == 0)
         relation = "is the same as";
      else
         relation = "comes before";

      outputBlock.Text += String.Format("'{0}' {1} '{2}'.\n", 
                                        string1, relation, string2);

      // Cultural (linguistic) case-insensitive comparison.
      result = String.Compare(string1, string2, new CultureInfo("en-US"), 
                              CompareOptions.IgnoreCase);
      if (result > 0)
         relation = "comes after";
      else if (result == 0)
         relation = "is the same as";
      else
         relation = "comes before";

      outputBlock.Text += String.Format("'{0}' {1} '{2}'.\n", 
                                        string1, relation, string2);

       // Culture-insensitive ordinal comparison.
      result = String.CompareOrdinal(string1, string2);
      if (result > 0)
         relation = "comes after";
      else if (result == 0)
         relation = "is the same as";
      else
         relation = "comes before";

      outputBlock.Text += String.Format("'{0}' {1} '{2}'.\n", 
                                        string1, relation, string2);
   }
}
// The example produces the following output:
//    'brother' comes before 'Brother'.   
//    'brother' is the same as 'Brother'.
//    'brother' comes after 'Brother'.


Silverlight

5, 4, 3에서 지원

Windows Phone용 Silverlight

Windows Phone OS 7.1, Windows Phone OS 7.0에서 지원

XNA Framework

Xbox 360, Windows Phone OS 7.0에서 지원

Silverlight에서 지원되는 운영 체제 및 브라우저에 대한 자세한 내용은 지원되는 운영 체제 및 브라우저을 참조하십시오.

커뮤니티 추가 항목

추가
표시: