c#是类型列表问题
本文关键字:问题 列表 类型 | 更新日期: 2023-09-27 17:53:28
基本c#问题。在下面的示例中,"is"不喜欢类型变量。任何想法都应该有一个简单的答案。
List<object> list = new List<object>();
list.Add("one");
list.Add(2);
list.Add('3');
Type desiredType = typeof(System.Int32);
if (list.Any(w => w is desiredType))
{
//do something
}
试试这个:
List<object> list = new List<object>();
list.Add("one");
list.Add(2);
list.Add('3');
Type desiredType = typeof(System.Int32);
if (list.Any(w => w.GetType().IsAssignableFrom(desiredType)))
{
//do something
}
无论如何:你确定要创建一个对象列表吗? w.GetType() == desiredType
.
为什么要这样滥用泛型?
您可以使用Linq扩展方法OfType:
list.OfType<>将返回指定类型的任何项的IEnumerable。
如果我没记错的话你应该写w is System.Int32
..
委托期望获得类型或名称空间,但您提供的是类型实例。试试这个:
if (list.Any(w => w is Int32))
{
//do something
}