C# linq TakeWhile
Хочу получить список элементов которые подходят под условие: вернуть все элементы списка, которые не равны заданному.
Мой список состоит из 4 элементов:
List<string> directions = new List<string>() { "rightBot", "rightTop",
"leftTop", "leftBot" };
Использую linq для запроса
var items = directions.TakeWhile(it => !it.Equals(_direction)).ToList();
Все работает так как я хочу, но в одном случае TakeWhile возвращает 0 элементов. Этот случай возникает, когда _direction == rightBot, то есть когда попадается нулеой элемент списка его почему-то не пропускает, а возвращает просто пустой список.
Почему?