黑马程序员技术交流社区
标题:
突然想到List<object>,试了一下
[打印本页]
作者:
段朝骞
时间:
2013-9-29 00:43
标题:
突然想到List<object>,试了一下
本帖最后由 段朝骞 于 2013-9-29 12:15 编辑
List<T> 在声明时就要固定类型,想到object就试了一下结果什么值都能存...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace List泛型
{
class Program
{
static void Main(string[] args)
{
List<object> objs = new List<object>();
objs.Add(1);
objs.Add(2);
objs.Add("ss");
objs.Add("admin");
A a = new A();
a.i = 100;
objs.Add(new A());
objs.Add(a);
foreach(object obj in objs)
{
Console.WriteLine(obj.ToString());
}
Console.ReadKey();
}
class A
{
public int i;
}
}
}
复制代码
int , string , class类型的都存了进去,图上是打印结果
QQ截图20130929004201.png
(20.23 KB, 下载次数: 82)
下载附件
2013-9-29 00:42 上传
打印结果
作者:
黄广祯
时间:
2013-9-29 01:35
List<object> 其实就和ArrayList的功能、执行效率一模一样了。
额 这样在接收数据时把当前数据类型隐式转换成object而造成了大量的装箱拆箱操作,会影响执行效率。
作者:
☜⑦圊⑥慾➹沼
时间:
2013-9-29 08:53
不建议这样使用,这样使用操作起来很麻烦,你获取里面数据的时候还得转型,如果你存的乱七八糟的话,那你的list只能用存数据,而无法读取。
作者:
韩继新
时间:
2013-9-29 09:01
最好你要存放什么类型是数据,就给List<>中放什么类型,清晰有序,而且方便读取里面的内容,如果List<>中什么类型都有比如又有字符串又有数据类型又有日期类型,你取出来没法转换的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2