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

CompareOptions 열거형

 

게시 날짜: 2016년 11월

와 함께 사용 하는 문자열 비교 옵션을 정의 CompareInfo합니다.

이 열거형은 해당 멤버 값의 비트 조합을 허용하는 FlagsAttribute 특성을 포함합니다.

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

[SerializableAttribute]
[FlagsAttribute]
[ComVisibleAttribute(true)]
public enum CompareOptions

멤버 이름설명
IgnoreCase

대/소문자를 무시 하는 문자열 비교를 나타냅니다.

IgnoreKanaType

일본어가 나 형식 무시 해야 문자열 비교를 나타냅니다. 일본어가 나 형식 일본어 히라가나 문자와 가타카나 문자를 일본어 언어에서 표현 하를 가리킵니다. 히라가나는 가타카나 "컴퓨터" 또는 "Internet" 등의 다른 언어에서 차용한 단어를 사용 하는 동안 일본 및 단어에 사용 됩니다. 히라가나와 가타카나 음성 소리를 표현할 수 있습니다. 이 값을 선택 하는 경우 한 사운드 히라가나 문자와 가타카나 문자가 동일한 소리 같은 간주 됩니다.

IgnoreNonSpace

분음 부호와 같은 공백 없는 결합 문자를 무시 하는 문자열 비교를 나타냅니다. Unicode Standard 새 문자를 생성 하는 기본 문자와 함께 사용 되는 문자로 결합 문자를 정의 합니다. 공백 없는 결합 문자 렌더링할 때는 간격 위치를 차지 하지 않습니다.

IgnoreSymbols

공백 문자, 문장 부호, 통화 기호, 백분율 기호, 수학 기호, 앰퍼샌드, 및 등과 같은 기호를 무시 하는 문자열 비교를 나타냅니다.

IgnoreWidth

문자 너비를 무시 하는 문자열 비교를 나타냅니다. 예를 들어, 일본어의 가타카나 문자 전각 또는 반각으로 작성할 수 있습니다. 이 값이 선택 되어 전자로 작성 된 가타카나 문자 반자로 작성 하는 동일한 문자를 같은 것으로 간주 됩니다.

None

문자열 비교에 대 한 기본 옵션 설정을 나타냅니다.

Ordinal

문자열 비교 연속 유니코드 u t F-16으로 인코딩된 값을 사용 해야 함을 나타냅니다 (코드 단위 비교 코드 단위)는 문자열의 앞에 하나만 제외 하는 빠른 비교 하는 문화권을 구분 하지 않는 합니다. 코드 단위 XXXX로 시작 하는 문자열16 YYYY로 시작 하는 문자열 앞에 오는16, 경우 XXXX16 YYYY 보다 작으면16합니다. 이 값을 다른 함께 사용할 수 없는 CompareOptions 값을 단독으로 사용 해야 합니다.

OrdinalIgnoreCase

문자열 비교는 대/소문자를 무시 다음 서 수 비교를 수행 해야 합니다. 이 기술은 문자열을 다음 결과에 서 수 비교를 수행 하 고 고정 문화권을 사용 하 여 대문자로 변환 하는 것과 같습니다.

StringSort

문자열 비교 문자열 정렬 알고리즘을 사용 해야 함을 나타냅니다. 문자열 정렬, 하이픈 및 아포스트로피와 같은 기타 영숫자가 아닌 문자 기호, 영숫자 문자 앞에 있습니다.

이러한 옵션 대/소문자 구분 또는 종류의 문자를 무시 해야 하는지를 나타냅니다.

.NET Framework에서는 세 가지 방법으로 정렬: 정렬, 문자열 정렬 및 서 수 정렬 단어입니다. 단어 정렬 문자열의 문화권 구분 비교를 수행합니다. 영숫자가 아닌 특정 문자는 특별 한 가중치 할당 있을 수 있습니다. 예를 들어, 하이픈 ("-")는 매우 적은 가중치가 할당 "하며 coop" 및 "co-op" 정렬된 된 목록에서 서로 옆에 표시 되도록 할 수 있습니다. 문자열 정렬 특수 한 경우가 있다는 것을 제외 하 고 단어 정렬와 비슷합니다. 따라서 모든 영숫자가 아닌 문자 기호 모든 영숫자 문자 앞에 있습니다. 정렬 서 수 문자열의 각 요소의 유니코드 값을 기반으로 하는 문자열을 비교 합니다.

StringSort 값만 사용 하 여 CompareInfo.CompareCompareInfo.GetSortKey합니다. ArgumentException 경우에 throw 되는 StringSort 값에 사용 됩니다 CompareInfo.IsPrefix, CompareInfo.IsSuffix, CompareInfo.IndexOf, 또는 CompareInfo.LastIndexOf합니다.

System_CAPS_note참고

응용 프로그램에서 허용 하는 문자열 비교 메서드를 사용 해야 가능 하면 한 CompareOptions 예상 비교의 종류를 지정 하는 값입니다. 일반적으로 사용자 용 비교는 것이 최고의 방법이 보안 비교를 지정 해야 하는 동안 언어 옵션 (사용 하 여 현재 문화권)를 사용 하 여 Ordinal 또는 OrdinalIgnoreCase합니다.

다음 코드 예제와 어떻게 정렬 StringSort 하지 않은 다른 StringSort합니다.

using System;
using System.Collections;
using System.Globalization;


public class SamplesCompareOptions  {

   private class MyStringComparer: IComparer {
      private CompareInfo myComp;   
      private CompareOptions myOptions = CompareOptions.None;

      // Constructs a comparer using the specified CompareOptions.
      public MyStringComparer( CompareInfo cmpi, CompareOptions options )  {
         myComp = cmpi;
         this.myOptions = options;
      }

      // Compares strings with the CompareOptions specified in the constructor.
      public int Compare(Object a, Object b) {
         if (a == b) return 0;
         if (a == null) return -1;
         if (b == null) return 1;

         String sa = a as String;
         String sb = b as String;
         if (sa != null && sb != null)
            return myComp.Compare(sa, sb, myOptions);
         throw new ArgumentException("a and b should be strings.");

      }
   }

   public static void Main()  {

      // Creates and initializes an array of strings to sort.
      String[] myArr = new String[9] { "cant", "bill's", "coop", "cannot", "billet", "can't", "con", "bills", "co-op" };
      Console.WriteLine( "\nInitially," );
      foreach ( String myStr in myArr )
         Console.WriteLine( myStr );

      // Creates and initializes a Comparer to use.
      //CultureInfo myCI = new CultureInfo( "en-US", false );
      MyStringComparer myComp = new MyStringComparer(CompareInfo.GetCompareInfo("en-US"), CompareOptions.None);

      // Sorts the array without StringSort.
      Array.Sort( myArr, myComp );
      Console.WriteLine( "\nAfter sorting without CompareOptions.StringSort:" );
      foreach ( String myStr in myArr )
         Console.WriteLine( myStr );

      // Sorts the array with StringSort.
      myComp = new MyStringComparer(CompareInfo.GetCompareInfo("en-US"), CompareOptions.StringSort);
      Array.Sort( myArr, myComp );
      Console.WriteLine( "\nAfter sorting with CompareOptions.StringSort:" );
      foreach ( String myStr in myArr )
         Console.WriteLine( myStr );

   }

}

/*
This code produces the following output.

Initially,
cant
bill's
coop
cannot
billet
can't
con
bills
co-op

After sorting without CompareOptions.StringSort:
billet
bills
bill's
cannot
cant
can't
con
coop
co-op

After sorting with CompareOptions.StringSort:
bill's
billet
bills
can't
cannot
cant
co-op
con
coop

*/

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