// option 1, use where clause to filter and AddRange to append non-null items to existing list
List<Example> list = new List<Example>();
list.AddRange(data.Where(item => item != null));
// option 2, use where clause to filter data and then convert to list
List<Example> list = data.Where(item => item != null).ToList();
// option 3, same as option 2, using query syntax
List<Example> list = (from item in data
where item != null
select item).ToList();
// option 4, query syntax version with explicit creation of new Example objects
List<Example> list = (from item in data
where item != null
select new Example
{
Foo = item.Foo,
Bar = item.Bar
}).ToList();
// option 5, nulls already in list
list.RemoveAll(item => item == null);