IEnumerable作为对象之间的不一致

时间:2016-06-22 06:35:22

标签: c# covariance

我在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
    }
}

为什么只有自定义类型列表被识别为IEnumerable&lt;对象&gt;

0 个答案:

没有答案