问一个关于泛型List<T> 的问题 List<T>泛型类型 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 加个参数呗比如List<T> GetITList(string type){switch(type){case "int":return new List<int>();break;case "string":return new List<string>();break;}} 或者你这样定义void GetITList(ref List<T> list){//在外面new好,传递进来,根据对应的类型进行填充} List<T> GetITList<T>(string type) 我现在这样做的 编译通过 但是读数据时候发现数据格式不对List<T> GetList<T>(){ List<T> result = (T) dataTable..... return result;}List<int> GetIntList = GetList<int>();List<string> GetTextList = GetList<string>();编译通过的 实际读不到数据NULL 值 List<T> result = (T) dataTable这是啥语法,你把dataTable直接强制转换成T??而且泛型只是方便你返回不同类型的数据,你不能真的返回一个T啊,而应该返回具体的类型 List<T> 要实例化.. List<T> 要实例化..= 后面就是实例化 我不一定要 new 的 我把另一个集合赋值给 新建对象了。 这样的 datatable 是我读数据库返回的一个集合 有整形的 有字符串的 由于数据结构一样 就是类型不一样我想先打好框架,然后 调用的时候通过 传参数或者 转换 让List<T> 装载具体的类型 这样可以省去很多同样重复的代码了。 貌似 datable 不能强转T.. List<T> Function<T>();试试这样 用泛型存储不同类型的数据 class Types<T> { public T Num; //声明编号字段 public T Name; //声明姓名字段 public T Sex; //声明性别字段 public T Age; //声明年龄字段 public T Birthday; //声明生日字段 public T Salary; //声明薪水字段 } private void button1_Click(object sender, EventArgs e) { Types<object> Exte = new Types<object>();//实例化泛型类对象 //为泛型类中声明的字段进行赋值,存储不同类型的值 Exte.Num = 1; Exte.Name = "白显明"; Exte.Sex = "女"; Exte.Age = 25; Exte.Birthday = Convert.ToDateTime("1986-06-08"); Exte.Salary = 1300.45F; //将泛型类中各字段的值显示在文本框中 textBox1.Text = Exte.Num.ToString(); textBox2.Text = Exte.Name.ToString(); textBox3.Text = Exte.Sex.ToString(); textBox4.Text = Exte.Age.ToString(); textBox5.Text = Exte.Birthday.ToString(); textBox6.Text = Exte.Salary.ToString(); } } 这样的 datatable 是我读数据库返回的一个集合 有整形的 有字符串的 由于数据结构一样 就是类型不一样我想先打好框架,然后 调用的时候通过 传参数或者 转换 让List<T> 装载具体的类型 这样可以省去很多同样重复的代码了。泛型可不是什么“传类型参数进去”的概念。List<int>跟List<string>根本无关,并不是什么参数不同,而是需要通过模板编译生成两个不同的代码(只不过Jit来编译,而不是c#编译器编译而已)。“传参数”的想法,根本就是对泛型的误解。 你所谓的“框架”是没有根据的、只基于皮毛的想像就“搭框架”,这样出来的东西,聪明人只会等着看笑话啊。你要能说出来 DataTable 如何转为int、string,你再来搭所谓的“框架”。如果稍微深入一步追问,你就胡乱写代码了,那么你这不就好像是“南郭先生”一样的做法了嘛。“打好框架”,前提是有坚实的基础。框架的重构和扩展,实在已经成功的基础框架之上重构的,绝不是在标题党之上去构建的。 关于.net重新登录问题? 跪求处理如下XML文件 求一个正则 论坛里有史以来最简单的问题 请问c#怎样处理这样的字节数组?亟待 盘符和文件夹显示的问题? 如何 读 32位长的磁盘序列号(在线=) 求购一套c#开发的erp,需要源码,并且要有成功实施的案例,无版权争议,价格QQ议! 请教!! 如何用c#做出类似于.net中的属性控件 C# 通过USR-WIFI232模块先DSP的串口发送数据?? VBA实现 用短信猫发短信时,换行问题
比如
List<T> GetITList(string type)
{
switch(type)
{
case "int":
return new List<int>();
break;
case "string":
return new List<string>();
break;
}
}
void GetITList(ref List<T> list)
{
//在外面new好,传递进来,根据对应的类型进行填充
}
List<T> GetITList<T>(string type)
{
List<T> result = (T) dataTable.....
return result;
}List<int> GetIntList = GetList<int>();
List<string> GetTextList = GetList<string>();
编译通过的 实际读不到数据NULL 值
这是啥语法,你把dataTable直接强制转换成T??
而且泛型只是方便你返回不同类型的数据,你不能真的返回一个T啊,而应该返回具体的类型
List<T> 要实例化..
datatable 是我读数据库返回的一个集合 有整形的 有字符串的 由于数据结构一样 就是类型不一样
我想先打好框架,然后 调用的时候通过 传参数或者 转换 让List<T> 装载具体的类型 这样可以省去很多同样重复的代码了。
试试这样
class Types<T>
{
public T Num; //声明编号字段
public T Name; //声明姓名字段
public T Sex; //声明性别字段
public T Age; //声明年龄字段
public T Birthday; //声明生日字段
public T Salary; //声明薪水字段
} private void button1_Click(object sender, EventArgs e)
{
Types<object> Exte = new Types<object>();//实例化泛型类对象
//为泛型类中声明的字段进行赋值,存储不同类型的值
Exte.Num = 1;
Exte.Name = "白显明";
Exte.Sex = "女";
Exte.Age = 25;
Exte.Birthday = Convert.ToDateTime("1986-06-08");
Exte.Salary = 1300.45F;
//将泛型类中各字段的值显示在文本框中
textBox1.Text = Exte.Num.ToString();
textBox2.Text = Exte.Name.ToString();
textBox3.Text = Exte.Sex.ToString();
textBox4.Text = Exte.Age.ToString();
textBox5.Text = Exte.Birthday.ToString();
textBox6.Text = Exte.Salary.ToString();
}
}
datatable 是我读数据库返回的一个集合 有整形的 有字符串的 由于数据结构一样 就是类型不一样
我想先打好框架,然后 调用的时候通过 传参数或者 转换 让List<T> 装载具体的类型 这样可以省去很多同样重复的代码了。泛型可不是什么“传类型参数进去”的概念。List<int>跟List<string>根本无关,并不是什么参数不同,而是需要通过模板编译生成两个不同的代码(只不过Jit来编译,而不是c#编译器编译而已)。“传参数”的想法,根本就是对泛型的误解。