如何将任意List转换成string[,]二维数组

puler 2016-01-12 10:48:16

如题,如何将任意List<T>转换成string[,]二维数组?

因为对反射不熟悉,不知道是否是要从反射入手

例如:



List<Person> p1 = new List<Person>();
P1.Add("Name01",21);
P1.Add("Name02",22);
P1.Add("Name03",23);

// 如何转换成:

string[,] p2 = new string[3, 2];
p2[0,0]="Name01"; p2[0,1]="21";
p2[1,0]="Name02"; p2[1,1]="22";
p2[2,0]="Name03"; p2[2,1]="23";



...全文
852 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋的红果实 2016-01-12
  • 打赏
  • 举报
回复
存到Object里,用的时候再确定类型,然后进行相应操作
Forty2 2016-01-12
  • 打赏
  • 举报
回复
用反射可以一定程度上做到你的要求,但是, 1、换成string[,]是一个很奇怪的需求,最好你能有充足的理由来这样做。 2、并不是所有的属性都能无损地转换为字符串的,因此‘任意的T‘理论上是不能达成的。
纸飞机_ 2016-01-12
  • 打赏
  • 举报
回复
引用 1 楼 puler 的回复:
请注意,是将 任意 List<T> 转换成string[,]二维数组?
就任意这两字感觉就 不太靠谱了,<t>里面有3个变量怎么办?
xdashewan 2016-01-12
  • 打赏
  • 举报
回复
一定要二维数组吗,不能用对象数组?那样会简单很多
puler 2016-01-12
  • 打赏
  • 举报
回复
请注意,是将 任意 List<T> 转换成string[,]二维数组?
  • 打赏
  • 举报
回复
可以通过循环,没必要反射,只要你能说明你这个维度是什么样子的
destiny_03 2016-01-12
  • 打赏
  • 举报
回复
就任意T这就不可能实现啊,T的成员千奇百怪什么都可以有,怎么都转成string?不能转的都写个类名上去倒是可以实现,但是这样有意义吗?
正怒月神 2016-01-12
  • 打赏
  • 举报
回复
不太明白,List<T>转成 T[] 还行。转string[,]是什么意思?每行都存储T的所有属性?

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧