这对我来说似乎很奇怪:

if(customerList.Count > 0)
{
   if(typeof(customerList[0]).IsReferenceType)
   {
      // do what I want
   }
}


你会怎么做?

最佳答案

要确定列表中的第一项是否为引用类型的对象:

bool isReferenceType = !(customerList[0] is ValueType);

要确定列表是否是引用类型的某些List<T>T

var listType = customerList.GetType();
if (!listType.IsGeneric || listType.GetGenericTypeDefinition() != typeof(List<>))
    // It’s not a List<T>
    return null;
return !listType.GetGenericArguments()[0].IsValueType;

09-16 06:45