So sánh "I"chuỗi Weird sắp xếp khi chuỗi thứ 2 dài
string.Compare("î", "I ", StringComparison.CurrentCulture) -- returns -1
string.Compare("î", "I ", StringComparison.CurrentCultureIgnoreCase) -- returns -1
string.Compare("î", "I", StringComparison.CurrentCulture) -- returns 1 (unexpected)
string.Compare("î", "I", StringComparison.CurrentCultureIgnoreCase) -- returns 1 (unexpected)
Với "i"
string.Compare("i", "I ", StringComparison.CurrentCulture) -- returns -1
string.Compare("i", "I ", StringComparison.CurrentCultureIgnoreCase) -- returns -1
string.Compare("i", "I", StringComparison.CurrentCulture) -- returns -1
string.Compare("i", "I", StringComparison.CurrentCultureIgnoreCase) -- returns 0
văn hóa hiện tại là en-GB. Tôi hy vọng tất cả những điều này sẽ trở lại 1. Tại sao có một chuỗi dài hơn thay đổi thứ tự sắp xếp?
Thực tế - khi tôi sử dụng 'i' không 'î', tôi nhận được kết quả sau: \t \t string.Compare ("i", "I", StringComparison.CurrentCulture) trả về \t -1 string.Compare ("i "," I ", StringComparison.CurrentCulture) -1 \t int –
Cập nhật câu hỏi của bạn với thông tin này. – ChrisF
Bạn đã thử với các nền văn hóa khác chưa? – Simon