ฉันจะทำให้บรรทัดด้านล่างเล็กตายได้อย่างไร
drUser["Enrolled"] =
(enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1);
ฉันได้รับคำแนะนำก่อนหน้านี้ในวันนี้ซึ่งแนะนำให้ใช้:
x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)));
ปัญหาคือฉันไม่สามารถทำงานนี้ได้ฉันลองบรรทัดด้านล่างคอมไพล์นี้ แต่คืนผลลัพธ์ที่ผิดมันคืนค่าผู้ใช้ที่ลงทะเบียนเป็นผู้ใช้ที่ไม่ได้ลงทะเบียนและไม่ได้ลงทะเบียนเมื่อลงทะเบียนแล้ว
drUser["Enrolled"] =
(enrolledUsers.FindIndex(x => x.Username.Equals((string)drUser["Username"],
StringComparison.OrdinalIgnoreCase)));
ทุกคนสามารถชี้ให้เห็นปัญหาได้หรือไม่
drUser["Enrolled"]
เป็นอย่างไร ดูเหมือนว่าค่าบูลีน แต่FindIndex()
ส่งกลับดัชนี หากดัชนีของผู้ใช้นั้นเป็น 0 ก็จะส่งกลับ 0 ซึ่งอาจเป็นเท็จ เมื่อใดในความเป็นจริงก็เป็นจริงExists()
วิธีการอาจจะดีกว่าในกรณีนี้