글쎄, 대시를 무시하는 것은 꽤 결백합니다. 그 (것)들을 포함하고 싶은 경우에, 아마 과부하에서 StringComparison.Ordinal
를 이용하십시오.
워드 정렬 문자열의 문화에 민감한 비교를 수행 :
는 docs for string.Compare
읽기, 그것은 here에서 의미 단어 정렬 규칙을 사용합니다. 특정 영숫자가 아닌 문자는 특수 가중치가 할당되었을 수 있습니다. 예제의 경우 하이픈 ("-")에 매우 작은 가중치가 할당 될 수 있으므로 "coop"및 "co-op"가 정렬 된 목록에 서로 옆에 나타납니다.
은 적어도 그것을 이행이다 : 나는 매우 비슷한 관련된 대시에 대해 "연결"과 bug 기록 - 비 전이 비교 보낸 사람 < B, B < C 와 C가 < A. 본질적으로 휴식을 정렬 규칙. 그것은 닫혔다 "고쳐주지 않을 것이다". 여기있다 :
string s1 = "-0.67:-0.33:0.33";
string s2 = "0.67:-0.33:0.33";
string s3 = "-0.67:0.33:-0.33";
Console.WriteLine(s1.CompareTo(s2));
Console.WriteLine(s2.CompareTo(s3));
Console.WriteLine(s1.CompareTo(s3));
는 (1,1, -1을 반환 내 컴퓨터에서)