Я относительно новичок в LINQ
и в настоящее время работает над запросом, который объединяет группировку и сортировку. Я собираюсь начать с примера здесь. В принципе у меня есть произвольная последовательность чисел, представленные в виде строк:Запрос LINQ, который объединяет группировку и сортировку
List<string> sNumbers = new List<string> {"34521", "38450", "138477", "38451", "28384", "13841", "12345"}
Мне нужно найти все sNumbers
в этом списке, которые содержат шаблон поиска (скажем, «384») затем возвращает отфильтрованную последовательность такой, что sNumbers
что начните с шаблона поиска («384»), а затем остальные sNumbers
, содержащие где-нибудь шаблон поиска. Так что это будет так (пожалуйста, обратите внимание на алфавитный СНП в группах):
{"38450", "38451", "13841", "28384", "138477"}
Вот как я начал:
outputlist = (from n in sNumbers
where n.Contains(searchPattern
select n).ToList();
Так что теперь мы все числа, которые содержат поиск шаблон. И здесь я застрял. Я знаю, что в этот момент мне нужно «сгруппировать» результаты в две последовательности. Один, который начинается с шаблона поиска и других, которые этого не делают. Затем примените вторичную сортировку в каждой группе по алфавиту. Как написать запрос, который объединяет все это?
к сожалению, после прочтения ответов, я понимаю, что я сделал ошибку выше правильный ответ будет. следующим образом: (сортировка начинается с, а затем в алфавитном порядке (не численно) {"38450", "38451", "13841", "138477", "28384"} –