【发布时间】:2010-12-23 05:33:50
【问题描述】:
如何判断对象是否为IEnumerable
代码:
namespace NS {
class Program {
static IEnumerable<int> GetInts() {
yield return 1;
}
static void Main() {
var i = GetInts();
var type = i.GetType();
Console.WriteLine(type.ToString());
}
}
}
输出:
NS.1.Program+<GetInts>d__0
如果我将 GetInts 更改为返回 IList,一切正常 输出是:
System.Collections.Generic.List`1[System.Int32]
这会返回 false:
namespace NS {
class Program {
static IEnumerable<int> GetInts() {
yield return 1;
}
static void Main() {
var i = GetInts();
var type = i.GetType();
Console.WriteLine(type.Equals(typeof(IEnumerable<int>)));
}
}
}
【问题讨论】:
标签: c# .net linq collections types