Сравнение C# представляет в виде строки с другим случаем [дубликат]

11
задан Jamie 25 June 2010 в 16:00
поделиться

5 ответов

Вам необходимо вызвать 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 .

21
ответ дан 3 December 2019 в 04:31
поделиться

Предпочтительный способ сделать это - указать сравнение строк, используя что-то вроде

string.Equals(x.Username, (string)drUser["Username"], StringComparison.OrdinalIgnoreCase

для проверки равенства, вместо "=="

3
ответ дан 3 December 2019 в 04:31
поделиться

попробуйте метод string.compare. все перегрузки

Или более конкретный

По крайней мере, я надеюсь, что это просветит.

0
ответ дан 3 December 2019 в 04:31
поделиться

Вы пробовали это?

string userName = (string)drUser["Username"];
bool enrolled = enrolledUsers.Exists(x =>
  string.Equals(x.Name, userName, StringComparison.CurrentCultureIgnoreCase));

Есть ли причина, по которой вы вместо этого используете FindIndex?

0
ответ дан 3 December 2019 в 04:31
поделиться

Как об использовании ToUpper ().

 if(!(dr["Enrolled"] == null || dr["Username"] == null))
 {
    if(dr["Enrolled"].ToString().ToUpperInvariant()== dr["Username"].ToString().ToUpperInvariant())
    {
        //Do Something
    }
}
0
ответ дан 3 December 2019 в 04:31
поделиться
Другие вопросы по тегам:

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