列表类型c#中的项类型

时间:2017-12-13 15:19:35

标签: c# list types

我有一个Type变量,它是某种类型的List。假设我不知道项目类型,我该如何获得项目类型?

这样的东西
x = ["a","b","c"]
list = x
for i in list:
    print("\nletter",i,"and\n")
    i+=i

编辑:我甚至尝试了... var type = property.PropertyType; if (type == typeof(List<>) // I know this doesn't work { do something } ... type is Ilist,结果都是假的。

即使只是尝试

type.IsGenericType

我不知道自己做错了什么。

1 个答案:

答案 0 :(得分:1)

根据我的理解,您要检查类型是否为列表,以及列表的元素是否为X类型。

您可以执行以下操作:

        var type = (new List<int>()).GetType();

        if (type.GetInterface("IList") != null && type.IsGenericType
                && type.GenericTypeArguments.Length == 1
                && type.GenericTypeArguments[0] == typeof(int))
                    Console.WriteLine(true); //Outputs True