实体类:
public class TestObj
{
public string A1 { get; set; }
public string A2 { get; set; }
public string A3 { get; set; }
public string A4 { get; set; }
public string A5 { get; set; }
}
读取数据库值后,赋值到LIST,资源代下载得到Listt数据集合。
目前,想遍历,就是类似这样:Listt[i].A1,其中的1可以循环,就是循环读取其中实体类中的变量。(为了方便封装)
试了下,Listt[i].A+i.ToString(),提示:
"TestObj”未包含“A”的定义,并且找不到可接受第一个“TestObj”类型参数的可访问扩展方法“A"
怎么做,谢谢!
msdn baidu google 搜索一下反射。
反射也可以,
用datatable接收循环也是个方案。
然而我觉得这种,没必要去封装。
虽然脱裤子放屁但是还是满足楼主给你个简单的方法:
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
namespace
WindowsFormsApplication1
{
public
partial
class
Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
List<Test> ListT =
new
List<Test>();
private
void
Form1_Load(
object
sender, EventArgs e)
{
for
(
int
i = 0; i < 4; i++)
{
Test Ts =
new
Test();
Ts.A1 =
"我是A1值是"
+ i;
Ts.A2 =
"我是A2值是"
+ i;
Ts.A3 =
"我是A3值是"
+ i;
Ts.A4 =
"我是A4值是"
+ i;
ListT.Add(Ts);
}
}
private
void
button1_Click(
object
sender, EventArgs e)
{
richTextBox1.Text =
""
;
List<
string
> ListString = ListZh(ListT);
foreach
(var item
in
ListString)
{
for
(
int
i = 0; i < item.Split(
'|'
).Length; i++)
{
richTextBox1.Text += item.Split(
'|'
)[i];
richTextBox1.Text +=
"\r\n"
;
}
}
}
public
List<
string
> ListZh(List<Test> ListTs)
{
List<
string
> ListString =
new
List<
string
>();
foreach
(var item
in
ListTs)
{
string
Pj =
""
;
Pj += item.A1+
"|"
;
Pj += item.A2 +
"|"
;
Pj += item.A3 +
"|"
;
Pj += item.A4;
ListString.Add(Pj);
}
return
ListString;
}
}
}
因为有很多类似的报表需要做,类似的实体类,循环后赋值给excel文件,所以想封装。
谢谢,我查下。
那我觉得用datatable来更方便
特性了解下,当然,还是要用到反射.