class Program
{
static void Main(string[] args)
{
List<User> users = null;
List<Administrator> admins = null;
users = admins; // ошибка потому что List<T> не ковариантен
IEnumerable<User> users2 = admins; // ошибки нет т.к. IEnumerable<out T> ковариантен
}
}
public class User { }
public class Administrator : User { }