为了账号安全,请及时绑定邮箱和手机立即绑定

如何查找 IEnumerable

如何查找 IEnumerable

C#
湖上湖 2023-12-17 16:50:38
如果我尝试List<dynamic> list = new List<dynamic> { "blah" }; var type = list.GetType().GetGenericArguments()[0];我得到“对象”;而不是 string。如何获得“真实”的体验?输入?
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

首先尝试访问该值,然后确定类型。


List<dynamic> list = new List<dynamic> { "blah", 15 };

var type = list[0].GetType();

Console.WriteLine(type); // prints out System.String


type = list[1].GetType();

Console.WriteLine(type); // prints out System.Int32

如果您想要所有类型的列表,请使用 Linq:


var types = list.Select(item => item.GetType());


// print out

foreach (var t in types) {

    Console.WriteLine(t);

}


查看完整回答
反对 回复 2023-12-17
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

Object 是这里的真实类型。您可以将 C# 中的 dynamic 视为具有特殊行为的对象,其中成员绑定发生在运行时而不是编译时。对于大多数类型来说,这就像反射的捷径。



查看完整回答
反对 回复 2023-12-17
  • 2 回答
  • 0 关注
  • 56 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信