Câu hỏi đặt ra là: tại sao có trong một khuôn khổ cả trong số họ?
Lời giải thích là một trong những điều này:
Xác định văn hóa, trường hợp và sắp xếp các nguyên tắc được sử dụng bởi một số quá tải của String.Compare và Phương thức String.Equals
Đại diện cho một chuỗi hoạt động so sánh có sử dụng trường hợp cụ thể và quy tắc văn hóa dựa trên hoặc so sánh thứ tự
Nhận thấy một sự khác biệt?
Trong trường hợp thứ hai, vì vậy trong trường hợp StringComparer
có khái niệm là string comparison operation
, nhưng không phải là string
loại.
Trong thực tế, nếu bạn nhìn vào this bạn sẽ đọc đơn giản:
Một số phương pháp không theo chuỗi có chuỗi so sánh như một hoạt động trung tâm sử dụng các loại StringComparer.
Một ví dụ, so với cùng liên kết:
Array.BinarySearch(this.storedNames, name, StringComparer.Ordinal)
tôi sử dụng StringComparer
như một so sánh "cơ sở" trong nội dung của các loại array
tham khảo.
bạn có thể đăng trường hợp của mình và kết quả mong đợi cho từng trường hợp hay không. Tôi tự hỏi nếu bạn đang so sánh == vs Equals về tham chiếu vs giá trị – MethodMan
'System.StringComparison.OrdinalIgnoreCase' là một giá trị enum, không phải là một phương pháp. Vì vậy, 'System.StringComparison.OrdinalIgnoreCase()' sẽ không biên dịch. Không chắc chắn những gì bạn thực sự có ý nghĩa. – AakashM