C#输入列表问题

Rya*_*hek 5 c# generics

基本的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
    }
Run Code Online (Sandbox Code Playgroud)

as-*_*cii 6

试试这个:

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
}
Run Code Online (Sandbox Code Playgroud)

无论如何:你确定要创建一个对象列表吗?


Fem*_*ref 4

w.GetType() == desiredType

你为什么要这样滥用仿制药?

  • 请注意,类型相等与“is”并不完全相同;子类等会令人困惑...... (3认同)