A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 段朝骞 中级黑马   /  2013-9-29 00:43  /  1874 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 段朝骞 于 2013-9-29 12:15 编辑

List<T> 在声明时就要固定类型,想到object就试了一下结果什么值都能存...
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace List泛型
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             List<object> objs = new List<object>();
  12.             objs.Add(1);
  13.             objs.Add(2);
  14.             objs.Add("ss");
  15.             objs.Add("admin");
  16.             A a = new A();
  17.             a.i = 100;
  18.             objs.Add(new A());
  19.             objs.Add(a);
  20.             foreach(object obj in objs)
  21.             {
  22.                 Console.WriteLine(obj.ToString());
  23.             }
  24.             Console.ReadKey();
  25.         }
  26.         class A
  27.         {
  28.            public int i;
  29.        }
  30.     }
  31. }
复制代码
int , string , class类型的都存了进去,图上是打印结果

QQ截图20130929004201.png (20.23 KB, 下载次数: 60)

打印结果

打印结果

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

3 个回复

倒序浏览
List<object> 其实就和ArrayList的功能、执行效率一模一样了。
额    这样在接收数据时把当前数据类型隐式转换成object而造成了大量的装箱拆箱操作,会影响执行效率。

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
不建议这样使用,这样使用操作起来很麻烦,你获取里面数据的时候还得转型,如果你存的乱七八糟的话,那你的list只能用存数据,而无法读取。

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报 1 0
最好你要存放什么类型是数据,就给List<>中放什么类型,清晰有序,而且方便读取里面的内容,如果List<>中什么类型都有比如又有字符串又有数据类型又有日期类型,你取出来没法转换的。

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马