mplementar pesquisa binária em objet

Existe alguma maneira de implementar a pesquisa binária em um ArrayList com objetos? Neste exemplo, o ArrayList será classificado com o campo 'id'.

class User{
 public int id;
 public string name;
}

ArrayList<User> users = new ArrayList<User>();

sortById(users);

int id = 66
User searchuser = getUserById(users,id);

Como seria o "Usuário getUserById (usuários ArrayList, int userid)" se eu retornasse o usuário com um ID especificado usando a pesquisa binária? Isso é possível?

questionAnswers(10)

yourAnswerToTheQuestion