Как я могу сделать нечувствительное к регистру сравнение строк?

Как я могу сделать строку ниже нечувствительного к регистру?

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)));

Кто-либо может указать на проблему?

204
задан SteveC 30 October 2014 в 23:54
поделиться

2 ответа

Вы должны использовать статическую String.Compare функцию, как показано ниже

x => String.Compare (x.Username, (string)drUser["Username"],
                     StringComparison.OrdinalIgnoreCase) == 0
36
ответ дан 23 November 2019 в 04:54
поделиться

Как насчет использования StringComparison.CurrentCultureIgnoreCase взамен?

1
ответ дан 23 November 2019 в 04:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: