Вам необходимо вызвать Equals
метод , который принимает параметр StringComparison
.
Например:
x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)
Если x.Username
может иметь значение null
, вы должны вызвать статический Equals
метод :
String.Equals(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase)
В противном случае x.Username.Equals
может вызвать исключение NullReferenceException
.
Предпочтительный способ сделать это - указать сравнение строк, используя что-то вроде
string.Equals(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase
для проверки равенства, вместо "=="
попробуйте метод string.compare. все перегрузки
По крайней мере, я надеюсь, что это просветит.
Вы пробовали это?
string userName = (string)drUser["Username"];
bool enrolled = enrolledUsers.Exists(x =>
string.Equals(x.Name, userName, StringComparison.CurrentCultureIgnoreCase));
Есть ли причина, по которой вы вместо этого используете FindIndex?
Как об использовании ToUpper ().
if(!(dr["Enrolled"] == null || dr["Username"] == null))
{
if(dr["Enrolled"].ToString().ToUpperInvariant()== dr["Username"].ToString().ToUpperInvariant())
{
//Do Something
}
}