string.Equals не работает, как я ожидал в веб-формах asp.net - PullRequest
1 голос
/ 18 августа 2011

У меня есть следующие значения nc_resultsName, возвращаемые из моего набора данных "NC-1", "NC-2", "C"

Моя страница aspx выглядит следующим образом

Text='<%# isCommentNC(Eval("nc_resultName").ToString()) %>'

и моя страница cs содержит этот метод

    public Func<string, bool> isCommentNC = x => x.Equals("NC-1") || x.Equals("NC-2");

, но мой метод ведет себя правильно, только если я вместо этого использую Contains ... Почему?

    public Func<string, bool> isCommentNC = x => x.Contains("NC-1") || x.Contains("NC-2");

* EDIT

Извините, Mistyped изменил "C" на "NC-1", та же проблема, хотя

Ответы [ 2 ]

0 голосов
/ 19 августа 2011

Вы уверены, что ваши данные не содержат пробелов до или после?Попробуйте обрезать вашу строку перед вызовом Equals ...

0 голосов
/ 18 августа 2011

У меня есть следующие значения nc_resultsName, возвращаемые из моего набора данных "NC-1", "NC-2", "C"

Как вы это определяете? Если вы смотрите в отладчике, вполне возможно, что встроенный нулевой персонаж подшучивает над вами. Строки .NET могут содержать эти символы, но отладчик перестает отображать строку в этой точке, как если бы они были строками в стиле C.

Убедитесь, что отладчик не обманывает вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...