Функция поиска с неизвестным индата - PullRequest
0 голосов
/ 06 июля 2010

Я хотел бы сделать функцию поиска, которая получает данные из 5 текстовых полей: имя, пол, ID, категория животных и животное. Различия между категорией животных и животных, например. категория животных = млекопитающее и животное = медведь. Так что они не являются обязательными для пользователя, когда он нажимает кнопку, он должен искать заданные параметры. Данные сохраняются в общем списке с типом животных. например. ListanimalCollection

Я пытался использовать linq, мой запрос ->

    ienumerable<Animal> result= 
    from a in animalCollection where a.Name== myParameterName
    &&
    a.Gender == myParameterGender
    select a;

проблема возникает, когда пользователь хочет иметь один или более двух параметров, потому что я не знаю, как сделать запрос в зависимости от ввода пользователя. Должен ли я сделать кучу операторов if для проверки ввода пользователя? Я надеюсь, что есть другой способ!

Я прошу вас, умные эксперты, помочь с этим! Надеюсь, я прояснил себя достаточно.

Даниэль, Швеция

1 Ответ

2 голосов
/ 06 июля 2010

Предполагая, что все ваши параметры являются строками, вы можете сделать что-то вроде этого:

var result = from a in animalCollection
             where (string.IsNullOrEmpty(myParameterName) || a.Name == myParameterName)
                && (string.IsNullOrEmpty(myParameterGender) || a.Gender == myParameterGender)
                && (string.IsNullOrEmpty(myParameterID) || a.ID == myParameterID)
                && (string.IsNullOrEmpty(myParameterCategory) || a.Category == myParameterCategory)
                && (string.IsNullOrEmpty(myParameterAnimal) || a.Animal == myParameterAnimal)
             select a;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...