我有IEnumerable<object>
类型变量。
IEnumerable<object> items= new object[] { 1, 2, 3 };
检查它是否是
IEnumerable<int>
的最佳方法是什么?我试过了
typeof(IEnumerable<int>).IsAssignableFrom(items.GetType())
typeof(IEnumerable<int>).IsInstanceOfType(items)
items is IEnumerable<int>
但是, Re-Sharper 提示它们全部。
在我的情况下,大多数情况下
IEnumerable<object> items
的类型为IEnumerable<int>
。我想执行IEnumerable<int>
类型的操作,而其他类型的操作。 最佳答案
如果要检查IEnumerable<object>
是否仅包含整数,则可以使用 Enumerable.All
:
var isInts = items.All(x => x is int);
关于c# - 检查IEnumerable <object>是否为IEnumerable <int>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30475033/