Object是否实现了IEnumerable接口C#?

ckv*_*ckv 1 c# linq

说我有以下代码:

using System;
using System.Linq;
using System.Collections.Generic;
public class Developer 
{
    public string Name;
    public string Language;
    public int Age;
}

class App {
    static void Main() {
        Developer[] developers = new Developer[] {
            new Developer {Name = "Paolo", Language = "C#"},
            new Developer {Name = "Marco", Language = "C#"},
            new Developer {Name = "Frank", Language = "VB.NET"}};
        var developersUsingCSharp = from d in developers
                                    where d.Language == "C#"
                                    select d.Name;
        foreach (var item in developersUsingCSharp) {
            Console.WriteLine(item);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有明确实现IEnumerable<T>接口.我的问题是from子句将采用实现IEnumerable接口的类型的实例,但在这种情况下,它是用户定义的Developer类的类型

示例代码取自Microsoft .NET Framework Book中的LINQ.

Fed*_*gui 9

System.Array(这是您在使用Developer[]符号时创建的内容,Implements IEnumerable.