Я знаю, что он может отображать список элементов из одного типа в другой (учитывая, что ваш объект имеет открытый статический явный операторный метод для кастинга) по очереди:
List<Y> ListOfY = new List<Y>();
foreach(X x in ListOfX)
ListOfY.Add((Y)x);
Но невозможно ли сразу перечислить весь список? Например,
ListOfY = (List<Y>)ListOfX;