StringComparison 열거형
String.Compare 및 String.Equals 메서드의 특정 오버로드에서 사용할 문화권, 대/소문자 및 정렬 규칙을 지정합니다.
자세한 내용은 https://msdn.microsoft.com/ko-kr/library/system.stringcomparison%28v=vs.110%29.aspx
멤버 이름 | 설명 | |
---|---|---|
CurrentCulture | 문화권 구분 정렬 규칙과 현재 문화권을 사용하여 문자열을 비교합니다. | |
CurrentCultureIgnoreCase | 문화권 구분 정렬 규칙과 현재 문화권을 사용하고 비교하고 있는 문자열의 대/소문자를 무시하여 문자열을 비교합니다. | |
InvariantCulture | 문화권 구분 정렬 규칙과 고정 문화권을 사용하여 문자열을 비교합니다. | |
InvariantCultureIgnoreCase | 문화권 구분 정렬 규칙과 고정 문화권을 사용하고 비교하고 있는 문자열의 대/소문자를 무시하여 문자열을 비교합니다. | |
Ordinal | 서수 정렬 규칙을 사용하여 문자열을 비교합니다. | |
OrdinalIgnoreCase | 서수 정렬 규칙을 사용하고 비교하고 있는 문자열의 대/소문자를 무시하여 문자열을 비교합니다. |
위와 같은 멤버를 가지고 있고 사용 예제를 보자!
using System; using System.Globalization; using System.Threading; public class Example { public static void Main() { String[] cultureNames = { "en-US", "se-SE" }; String[] strings1 = { "case", "encyclopædia", "encyclopædia", "Archæology" }; String[] strings2 = { "Case", "encyclopaedia", "encyclopedia" , "ARCHÆOLOGY" }; StringComparison[] comparisons = (StringComparison[]) Enum.GetValues(typeof(StringComparison)); foreach (var cultureName in cultureNames) { Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cultureName); Console.WriteLine("Current Culture: {0}", CultureInfo.CurrentCulture.Name); for (int ctr = 0; ctr <= strings1.GetUpperBound(0); ctr++) { foreach (var comparison in comparisons) Console.WriteLine(" {0} = {1} ({2}): {3}", strings1[ctr], strings2[ctr], comparison, String.Equals(strings1[ctr], strings2[ctr], comparison)); Console.WriteLine(); } Console.WriteLine(); } } } // The example displays the following output: // Current Culture: en-US // case = Case (CurrentCulture): False // case = Case (CurrentCultureIgnoreCase): True // case = Case (InvariantCulture): False // case = Case (InvariantCultureIgnoreCase): True // case = Case (Ordinal): False // case = Case (OrdinalIgnoreCase): True // // encyclopædia = encyclopaedia (CurrentCulture): True // encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): True // encyclopædia = encyclopaedia (InvariantCulture): True // encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True // encyclopædia = encyclopaedia (Ordinal): False // encyclopædia = encyclopaedia (OrdinalIgnoreCase): False // // encyclopædia = encyclopedia (CurrentCulture): False // encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False // encyclopædia = encyclopedia (InvariantCulture): False // encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False // encyclopædia = encyclopedia (Ordinal): False // encyclopædia = encyclopedia (OrdinalIgnoreCase): False // // Archæology = ARCHÆOLOGY (CurrentCulture): False // Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True // Archæology = ARCHÆOLOGY (InvariantCulture): False // Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True // Archæology = ARCHÆOLOGY (Ordinal): False // Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True // // // Current Culture: se-SE // case = Case (CurrentCulture): False // case = Case (CurrentCultureIgnoreCase): True // case = Case (InvariantCulture): False // case = Case (InvariantCultureIgnoreCase): True // case = Case (Ordinal): False // case = Case (OrdinalIgnoreCase): True // // encyclopædia = encyclopaedia (CurrentCulture): False // encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): False // encyclopædia = encyclopaedia (InvariantCulture): True // encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True // encyclopædia = encyclopaedia (Ordinal): False // encyclopædia = encyclopaedia (OrdinalIgnoreCase): False // // encyclopædia = encyclopedia (CurrentCulture): False // encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False // encyclopædia = encyclopedia (InvariantCulture): False // encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False // encyclopædia = encyclopedia (Ordinal): False // encyclopædia = encyclopedia (OrdinalIgnoreCase): False // // Archæology = ARCHÆOLOGY (CurrentCulture): False // Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True // Archæology = ARCHÆOLOGY (InvariantCulture): False // Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True // Archæology = ARCHÆOLOGY (Ordinal): False // Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True 같은 문자열 비교 메서드를 호출할 때 String.Compare, String.Equals, 또는 String.IndexOf, 항상 형식의 매개 변수가 포함 된 오버 로드를 호출할 수 있다.
String.Equals("문자", StringComparison.OrdinalIgnoreCase);
String.IndexOf("", StringComparison.OrdinalIgnoreCase);
String.Compare("", "", StringComparison.OrdinalIgnoreCase);
형식으로 사용하면 된다.