Como posso obter o LINQ para retornar o objeto que tem o valor máximo para uma determinada propriedade? [duplicado

Esta pergunta já tem uma resposta aqui:

LINQ: Como executar .Max () em uma propriedade de todos os objetos em uma coleção e retornar o objeto com o valor máximo [duplicado] 9 respostasComo usar o LINQ para selecionar objetos com valor mínimo ou máximo da propriedade 11 respostas

Se eu tiver uma classe que se parece com:

public class Item
{
    public int ClientID { get; set; }
    public int ID { get; set; }
}

E uma coleção desses itens ...

List<Item> items = getItems();

Como posso usar o LINQ para retornar o único objeto "Item" que possui o ID mais alt

Se eu fizer algo como:

items.Select(i => i.ID).Max(); 

Receberei apenas o ID mais alto, quando o que realmente quero retornar é o objeto Item que possui o ID mais alto? Quero que ele retorne um único objeto "Item", não um int.

questionAnswers(10)

yourAnswerToTheQuestion