Hi. You could use the Linq Zip method to achieve that. See the example below (also note calling ToList() force the expression to execute).
//using System.Linq;
var c1s = new List<Class1>{
new Class1 { x = 1},
new Class1 { x = 2},
new Class1 { x = 3},
new Class1 { x = 4},
new Class1 { x = 5},
};
var c2s = new List<Class2>{
new Class2 { y = 1},
new Class2 { y = 2},
new Class2 { y = 3},
new Class2 { y = 4},
new Class2 { y = 5}
};
c1s.Zip(c2s, (c1, c2) => c1.class2 = c2).ToList();