Pesquisa binária de uma lista C # usando a condição de delegação

eu tenho umList<T> que desejo pesquisar não um item, mas um item que satisfaça uma determinada condição. Dado um item da lista, posso testar qual das 4 condições é verdadeira:

o item desejado deve estar à esquerdao item desejado deve estar à direitaeste é o item desejadoo desejado não pode estar na lista

Uma rápida olhada nas funções da lista não foi animadora, por isso estou me perguntando se alguém sabe de alguma função que eu possa usar.

Edit: esta é uma lista temporária local, então eu sabia que ela seria classificada corretamente

Edit: BinarySearch parece quase certo, mas no meu caso eu não tenho um item para comparar. Eu usaria a solução de Jon Skeet e ignoraria um argumento, mas não tenho certeza se posso contar sempre com o mesmo argumento.

questionAnswers(3)

yourAnswerToTheQuestion