I'm having trouble explaining the following behaviour in C#
class A { }
class Program
{
static void Main(string[] args)
{
IEnumerable<int> a = new List<int> { 1, 2, 3 };
IEnumerable<char> b = "sdf";
IEnumerable<A> c = new List<A> { new A() };
Console.WriteLine(a is IEnumerable<object>); //false
Console.WriteLine(b is IEnumerable<object>); //false
Console.WriteLine(c is IEnumerable<object>); //true
}
}
Why is only List of custom types recognized as IEnumerable< object>