Có một số cách để so sánh chuỗi. Có hiệu suất đạt được bằng cách làm theo cách khác hơn?Hiệu suất so sánh chuỗi trong C#
Tôi luôn chọn để so sánh chuỗi như vậy:
string name = "Bob Wazowski";
if (name.CompareTo("Jill Yearsley") == 0) {
// whatever...
}
Nhưng tôi thấy rất ít người làm điều này, và nếu bất cứ điều gì, tôi thấy nhiều người chỉ làm một so sánh == thẳng, để kiến thức của tôi là cách tồi tệ nhất để so sánh chuỗi. Liệu tôi có sai?
Ngoài ra, nó có tạo sự khác biệt về cách so sánh chuỗi trong các truy vấn LINQ không? Ví dụ: Tôi muốn thực hiện những việc sau:
var results = from names in ctx.Names
where names.FirstName.CompareTo("Bob Wazowski") == 0
select names;
Nhưng một lần nữa, tôi thấy rất ít người so sánh chuỗi như vậy trong truy vấn LINQ của họ.
thể trùng lặp của [Sự khác biệt trong chuỗi so sánh các phương pháp trong C#] (http://stackoverflow.com/questions/44288/differences-in-string-compare-methods-in-c-sharp) – crowder
Bạn có thể muốn để xem http://rhale78.wordpress.com/2011/05/16/string-equality-and-performance-in-c/ – nawfal