запрос linq to xml с возможными пустыми параметрами - PullRequest
0 голосов
/ 07 апреля 2010

У меня есть несколько столбцов, по которым я хотел бы искать. Мой код может не получить ничего для данного столбца для поиска. Таким образом, для приведенного ниже примера фамилия или имя могут быть пустой строкой. Всякий раз, когда я ищу в столбце с пустой строкой, это портит запрос. Я исправил проблему, проверив, является ли она пустой строкой, и не обращаясь к ней, если она есть. Однако у меня есть много столбцов для поиска, так что было бы много if / thens и сделать вещи беспорядочными. Любой совет о том, как лучше всего реализовать?

refinedresult = From x In theresult _
                        Where x.<lastname>.Value.ToLower.Contains(LastName.ToLower.Trim) Or _
                        x.<givenname>.Value.ToLower.Contains(FirstName.ToLower.Trim) Or               _
                        Select x

1 Ответ

0 голосов
/ 07 апреля 2010

Вы можете создать метод расширения для типа x, который выполняет сравнение и возвращает логическое значение. Метод должен взять строку ссылки для сравнения. Если x равно нулю, просто верните false из метода расширения.

Способность вызывать метод расширения для нулевой ссылки и корректно обрабатывать ситуацию действительно мощная.

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