Ответ 1

LINQ?

var item = sequence.Where(x => x.Age > 100)
                   .Select(x => new { x.FirstName, x.LastName })
                   .OrderBy(x => x.LastName)
                   .FirstOrDefault();

Ответ 2

Обычно используется плавный интерфейс

EDIT: в ответ на вопросы в комментариях инициализаторы свойств/коллекций довольно ограничены тем, что вы можете устанавливать только предложения или вызывать метод Add в коллекции, тогда как вызовы методов более гибкие, так как они могут принимать множественные аргументы.

Свободный интерфейс - это всего лишь одно конкретное использование цепочки методов для создания более читаемого API, часто для разработчиков объектов.

Кроме того, в стороне, что статья MSDN довольно вводит в заблуждение, поскольку инициализаторы объектов не позволяют обойти конструктор, это просто, что в примере класс StudentName имеет конструктор по умолчанию, который ничего не делает.

Ответ 3

CuttingEdge.Conditions - хороший пример того, почему удобство метода удобнее?

public void GetData(int? id)
{
    // Check all preconditions:
    Condition.Requires(id)
        .IsNotNull()
        .IsInRange(1, 999)
        .IsNotEqualTo(128);
}