2014-10-21 3 views
0

StringComparer.OrdinalignoreCaseStringComparer.InvariantCultureIgnoreCase을 사용할 때 문자열 비교 결과 사이의 관계를 가져 오려고합니다. 더 정확하게 나는 사실 다음과 같은 네 가지 설명 중 알고 싶다 : 다음 a == b using StringComparer.OrdinalIgnoreCase StringComparer.OrdinalignoreCase와 StringComparer.InvariantCultureIgnoreCase 간의 관계

  • a != b using StringComparer.InvariantCultureIgnoreCase 다음 a != b using StringComparer.InvariantCultureIgnoreCase
  • a == b using StringComparer.InvariantCultureIgnoreCase 다음 a == b using StringComparer.InvariantCultureIgnoreCase
  • a != b using StringComparer.OrdinalIgnoreCase 다음

    1. a == b using StringComparer.OrdinalIgnoreCase,,,, a != b using StringComparer.OrdinalIgnoreCase

    지금까지 진술서 번호 3은 (는) 예 : a = STRASSEb = Straße의 댓글에서 this 질문입니다.

    이상 적으로 진술이 사실 인 이유를 설명하고 싶습니다. 또는 진실이 아닌 경우 예를 들어보고 싶습니다.

  • +0

    나는 모든 진술에 해당 진술이 사실이라고 생각하지 않습니다. 그러나 특정 문자열에 대한'=='및'! ='관계의 결과는 안정적이라는 것을 보장합니다. 왜냐하면 ordinal은 간단히 ushort 값의 배열 (대소 문자 무시를 제외하고)와 불변 값 다른 문화는 문화와 .NET 버전간에 변경되지 않도록 보장됩니다. –

    답변

    0

    서수 및 불변 데이터 정렬의 차이점은 언어가 아닌 데이터 정렬과 언어 데이터 정렬 간의 차이입니다.

    이론적으로 1이어야합니다 (대소 문자를 무시하지 않는 경우). 언어가 아닌 대소 문자 및 언어 대/소문자를 사용할 경우 대소 문자 규칙이 다릅니다. 나머지는 거짓입니다.