Seleção LINQ por tipo de objeto

Eu tenho uma coleção que contém dois tipos de objetos A e B.

Class Base{}
Class A : Base {}
Class B : Base {}

List<Base> collection = new List<Base>();
collection.Add(new A());
collection.Add(new B());
collection.Add(new A());
collection.Add(new A());
collection.Add(new B());

Agora eu quero selecionar os objetos da coleção com base em seu tipo (A ou B, não ambos).

Como posso escrever uma consulta LINQ para isso? Por favor me ajude. Caso contrário, eu preciso percorrer a coleção, o que não quero. Obrigado.

Editar:

Obrigado a todos por sua ajuda. Agora eu posso usar OfType () do LINQ. Mas acho que no meu caso não vai funcionar. Minha situação é

Class Container
{
  List<Base> bases;
}

List<Container> containers = new List<Container>();

Agora, quero selecionar o contêiner dos contêineres, que possui pelo menos um tipo A. Talvez isso não possa ser feito pelo LINQ. Muito obrigado.

questionAnswers(3)

yourAnswerToTheQuestion