Результатом from является IEnumerable, вам нужно создать список для его хранения.
result1=(from name in names
where name.Contains("a2")
select name).ToList();
так что вы можете просто:
List<string> result1 = (from name in names
where name.Contains("a2")
select name).ToList();