C#中的List<类名> 怎么理解?如把Datarow dr[0]=List<类名> 这怎么理解?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中的List<类名> 怎么理解?如把Datarow dr[0]=List<类名> 这怎么理解?相关的知识,希望对你有一定的参考价值。

参考技术A 数组的长度不可变,只有在元素数量确定的时候才能用,那如果元素数量不确定呢?那用起来就太恶心了,于是就有人发明了List,这玩意可以根据元素数量自动改变长度,是不是就方便多了?但是这个List是用来存什么类型的数据?那就是用<>来限制,List<string>就是一个可自改变长度的string数组,List<string> 就是 string[] 的升级版,List<int> 就是 int[] 的升级版...
呼~打了这么多字,这得多闲得无聊啊,唉~本回答被提问者采纳
参考技术B 一个泛型集合 泛型 就是<>中得类 这个集合中可以包含多个 这个类的集合。Datarow 是类的某一行 数据, dr[0]是一个单元 0代表下标索引, 就是行dr的第一列的值 是一个 一种类的集合。

C#反射执行方法返回List,怎么获取List

我有一系列按照一定规则命名的类,现在利用类名反射执行方法,其中一个方法返回的是List<类名>的list列表。但是反射方法返回的都是object,怎么把这个object转换为List。注:此处类名为string类型,不能找到对应的类。
问题已解决很久了,突然看见这个,把答案贴出来,有类似问题的可以参考一下。
foreach (object o in (IEnumerable)listModel)

//do something

参考技术A list datas= object as list; //一定要你对应的类型
if(datas!=null)

转换成功,可以用datas
追问

没有对应类型,类型是变化的

追答

不知类型,你怎么转,你再是变化的,但业务决定到某个时间点,也是必需有类型的。

那你只能一个个判断
list datas= object as List; //一定要你对应的类型
if(datas!=null)

转换成功,可以用datas


list datas= object as string; //一定要你对应的类型
if(datas!=null)

转换成功,可以用datas

....

追问

那我还用个屁的反射

参考技术B IEnumerable vvv = obj as IEnumerable;
用这个可以将反射返回的object转化成集合的方式。
然后就可以foreach这个东西了。本回答被提问者采纳

以上是关于C#中的List<类名> 怎么理解?如把Datarow dr[0]=List<类名> 这怎么理解?的主要内容,如果未能解决你的问题,请参考以下文章

C#反射执行方法返回List,怎么获取List

C#中List<List<string>>要怎么处理?

C# list<string> 中的项怎么比较是不是一致?

C#中List怎么转换成hashset

C#怎么判断项目中的一个txt为空(根据长度判断)

C# 如何为 List<T> 动态分配内存?