如何查找 IEnumerable

如果我尝试

List<dynamic> list = new List<dynamic> { "blah" };
var type = list.GetType().GetGenericArguments()[0];

我得到“对象”;而不是 string。如何获得“真实”的体验?输入?


湖上湖
浏览 149回答 2
2回答

达令说

首先尝试访问该值,然后确定类型。List<dynamic> list = new List<dynamic> { "blah", 15 };var type = list[0].GetType();Console.WriteLine(type); // prints out System.Stringtype = list[1].GetType();Console.WriteLine(type); // prints out System.Int32如果您想要所有类型的列表,请使用 Linq:var types = list.Select(item => item.GetType());// print outforeach (var t in types) {&nbsp; &nbsp; Console.WriteLine(t);}

杨__羊羊

Object&nbsp;是这里的真实类型。您可以将 C# 中的&nbsp;dynamic&nbsp;视为具有特殊行为的对象,其中成员绑定发生在运行时而不是编译时。对于大多数类型来说,这就像反射的捷径。
打开App,查看更多内容
随时随地看视频慕课网APP