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

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

 

지정된 두 String 개체의 부분 문자열을 비교하고 정렬 순서에서 두 개체의 상대 위치를 나타내는 정수를 반환합니다.

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

public static int Compare(
	string strA,
	int indexA,
	string strB,
	int indexB,
	int length
)

매개 변수

strA
Type: System.String

비교에 사용할 첫 번째 문자열입니다.

indexA
Type: System.Int32

strA에 있는 부분 문자열의 위치입니다.

strB
Type: System.String

비교에 사용할 두 번째 문자열입니다.

indexB
Type: System.Int32

strB에 있는 부분 문자열의 위치입니다.

length
Type: System.Int32

비교할 부분 문자열의 최대 문자 수입니다.

반환 값

Type: System.Int32

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

조건

0보다 작음

strA의 부분 문자열이 정렬 순서에서 strB의 부분 문자열 앞에 오는 경우

0

부분 문자열이 정렬 순서에서 같은 위치에 나오거나 length가 0인 경우

0보다 큼

strA의 부분 문자열이 정렬 순서에서 strB의 부분 문자열 다음에 오는 경우

Exception Condition
ArgumentOutOfRangeException

indexAstrA.Length보다 큽니다.

또는

indexBstrB.Length보다 큽니다.

또는

indexA, indexB 또는 length가 음수입니다.

또는

indexA 또는 indexBnull이고 length가 0보다 큽니다.

비교할 부분 문자열 시작 strA 에서 indexAstrB 에서 indexB합니다. 둘 다 indexAindexB 0부터 시작 됩니다; 즉, 첫 번째 문자의 strAstrB 는 위치 0입니다. 첫 번째 부분 문자열의 길이 길이의 strAindexA 1을 더한 합니다. 두 번째 부분 문자열의 길이 길이의 strBindexB 1을 더한 합니다.

비교할 문자 수는 두 부분 문자열의 길이가 더 작은 값 및 length합니다. indexA, indexB, 및 length 매개 변수는 음수일 수 없습니다.

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

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

System_CAPS_warning경고

문자열을 비교할 때 호출 해야는 Compare(String, Int32, String, Int32, Int32, 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, Int32, String, Int32, Int32) 메서드는 언어 또는 문화권 구분 비교를 수행 하는 경우 이러한 문자를 고려 하지 않습니다. 비교에는 무시할 수 있는 문자를 인식 하려면 호출는Compare(String, Int32, String, Int32, Int32, StringComparison) 메서드 값을 지정 하 고 CompareOptions.Ordinal 또는 CompareOptions.OrdinalIgnoreCase 에 대 한는 comparisonType 매개 변수입니다.

다음 예제에서는 두 부분 문자열을 비교합니다.

// Sample for String.Compare(String, Int32, String, Int32, Int32)
using System;

class Sample {
    public static void Main() {
//                 0123456
    String str1 = "machine";
    String str2 = "device";
    String str;
    int result;

    Console.WriteLine();
    Console.WriteLine("str1 = '{0}', str2 = '{1}'", str1, str2);
    result = String.Compare(str1, 2, str2, 0, 2);
    str = ((result < 0) ? "less than" : ((result > 0) ? "greater than" : "equal to"));
    Console.Write("Substring '{0}' in '{1}' is ", str1.Substring(2, 2), str1);
    Console.Write("{0} ", str);
    Console.WriteLine("substring '{0}' in '{1}'.", str2.Substring(0, 2), str2);
    }
}
/*
This example produces the following results:

str1 = 'machine', str2 = 'device'
Substring 'ch' in 'machine' is less than substring 'de' in 'device'.
*/

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
1.1 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능
맨 위로 이동
표시: