using System.Collections.Generic;
public static void Main()
var blahs = new List<BaseBlah>();
var originalBlah = new Blah("Hello World");
var coercedBlahs = blahs.Select(blah => blah as Blah).Where(blah => blah != null).ToList();
foreach(var blah in coercedBlahs) {
Console.WriteLine(blah.Test);
Console.WriteLine(blah == originalBlah);
public class Blah: BaseBlah {
public Blah(string test) {
public string Test {get;set;}
public abstract class BaseBlah {