我已经 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/