Ответ 1
Вот так:
List<long> longs = ints.ConvertAll(i => (long)i);
В нем используются лямбда-выражения С# 3.0; если вы используете С# 2.0 в VS 2005, вам нужно написать
List<long> longs = ints.ConvertAll<int, long>(
delegate(int i) { return (long)i; }
);