¿Cómo puedo hacer que LINQ devuelva el objeto que tiene el valor máximo para una propiedad dada? [duplicar

Esta pregunta ya tiene una respuesta aquí:

LINQ: Cómo realizar .Max () en una propiedad de todos los objetos de una colección y devolver el objeto con el valor máximo [duplicado] 9 respuestas Cómo usar LINQ para seleccionar un objeto con un valor de propiedad mínimo o máximo 11 respuestas

Si tengo una clase que se parece a:

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

Y una colección de esos artículos ...

List<Item> items = getItems();

¿Cómo puedo usar LINQ para devolver el único objeto "Artículo" que tiene la ID más alta?

Si hago algo como:

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

Solo obtendré la ID más alta, ¿cuando lo que realmente quiero que se devuelva es el objeto Item que tiene la ID más alta? Quiero que devuelva un solo objeto "Item", no un int.

Respuestas a la pregunta(10)

Su respuesta a la pregunta