Làm thế nào tôi có thể làm cho dòng dưới đây không nhạy cảm?
drUser["Enrolled"] =
(enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1);
Tôi đã được đưa ra một số lời khuyên sớm hôm nay mà đề nghị tôi sử dụng:
x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)));
vấn đề là tôi không thể làm việc này được, tôi đã thử dòng dưới đây, nó biên dịch nhưng trả về kết quả sai, nó trả về người dùng đã đăng ký là người dùng không được kiểm soát và không được kiểm soát như đã đăng ký.
drUser["Enrolled"] =
(enrolledUsers.FindIndex(x => x.Username.Equals((string)drUser["Username"],
StringComparison.OrdinalIgnoreCase)));
Bất cứ ai có thể chỉ ra vấn đề?
drUser["Enrolled"]
được? Nó trông giống như một giá trị boolean, nhưngFindIndex()
trả về chỉ mục. Nếu chỉ số của người dùng đó là 0, thì nó sẽ trả về 0, có thể là sai. Khi, trong thực tế là đúng. CácExists()
phương pháp có thể được tốt hơn trong trường hợp này.