Tôi đã có yêu cầu xem xét tính khả thi của việc thay thế tất cả chuỗi sử dụng toán tử ==
trong một mật độ C# lớn với các cuộc gọi phương thức String.Equals()
. .Tìm tập quán của toán tử string == trong một codebase lớn
Không có nhiều may mắn tìm ra cách để xác định tất cả các lần xuất hiện trong codebase.
- Tìm kiếm "==" rõ ràng tìm thấy vô số trường hợp các loại ngoài chuỗi được so sánh.
- Dường như quy tắc StyleCop không tìm thấy điều này.
- Cũng không phải là quy tắc ReSharper.
- Như một phương sách cuối cùng tôi đã cố gắng tải các hội đồng thành JustDecompile và tìm tất cả các tập quán của
System.String.op_Equality
nhưng điều đó dường như không nhấc tập quán bên trong các biểu thức LINQ như.Where(x => x.StringField == stringField)
Vì vậy, tôi là một chút bối rối và tự hỏi liệu có ai có ý tưởng nào về cách tìm kiếm những so sánh này không?
Tôi rất muốn nghe lý do bạn được yêu cầu xem xét một điều như vậy. Điều đó có vẻ giống như việc sử dụng thời gian không hiệu quả của bạn ..... Đây có phải là "sự tuân thủ tài liệu tiêu chuẩn" không? –
Tại sao 'tìm kiếm" == "tìm thấy vô số trường hợp các loại khác với chuỗi được so sánh'? Các 'loại' khác là gì? –
@NikhilAgrawal Nếu chúng là các biến chuỗi và không phải là chuỗi ký tự thì sao? –