arr.Add(12); // 整数
arr.Add("你好!"); //字符串
这有什么实用价值呢?谁这么用过,给个例子?
6 个解决方案
#1
实用价值就是可以灵活操作数组,但是会有装箱和拆箱的问题。
如果元素的类型都一样的话通常都用list<T>
如果元素的类型都一样的话通常都用list<T>
#2
谈不上什么实用价值,在.net研发阶段(2000年左右),这是一个很基本的数据结构。
这就好比说清朝的辫子,你问“今天有什么实用价值?”这个问题,你应该先能够分析到那个时代的整体设计再说。
至少从2005 以后,这种东西在编写新程序中就应该禁用。
这就好比说清朝的辫子,你问“今天有什么实用价值?”这个问题,你应该先能够分析到那个时代的整体设计再说。
至少从2005 以后,这种东西在编写新程序中就应该禁用。
#3
使用价值也得看具体需求。 比如:绑定数据集合,可以使用List<class>,Datatable来统一你的数据类型class或者DataRow。就不会考虑使用ArrayList。 但也有某种需求,比如“拼装”信息时,需要通过不同的对象来组装一个新的对象。比如:一个车头,车身,车尾,由三者组成一个车辆的信息,这时我就会考虑使用ArrayList。
#5
现在我比较喜欢List<dynamic>
#6
使用泛型存储不同类型的数据列表
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
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 = 27;
Exte.Birthday = Convert.ToDateTime("1988-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();
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
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 = 27;
Exte.Birthday = Convert.ToDateTime("1988-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();
}
}
#1
实用价值就是可以灵活操作数组,但是会有装箱和拆箱的问题。
如果元素的类型都一样的话通常都用list<T>
如果元素的类型都一样的话通常都用list<T>
#2
谈不上什么实用价值,在.net研发阶段(2000年左右),这是一个很基本的数据结构。
这就好比说清朝的辫子,你问“今天有什么实用价值?”这个问题,你应该先能够分析到那个时代的整体设计再说。
至少从2005 以后,这种东西在编写新程序中就应该禁用。
这就好比说清朝的辫子,你问“今天有什么实用价值?”这个问题,你应该先能够分析到那个时代的整体设计再说。
至少从2005 以后,这种东西在编写新程序中就应该禁用。
#3
使用价值也得看具体需求。 比如:绑定数据集合,可以使用List<class>,Datatable来统一你的数据类型class或者DataRow。就不会考虑使用ArrayList。 但也有某种需求,比如“拼装”信息时,需要通过不同的对象来组装一个新的对象。比如:一个车头,车身,车尾,由三者组成一个车辆的信息,这时我就会考虑使用ArrayList。
#4
#5
现在我比较喜欢List<dynamic>
#6
使用泛型存储不同类型的数据列表
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
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 = 27;
Exte.Birthday = Convert.ToDateTime("1988-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();
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
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 = 27;
Exte.Birthday = Convert.ToDateTime("1988-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();
}
}