码迷,mamicode.com
首页 > 其他好文 > 详细

第三章使用集合相关数据

时间:2018-01-03 15:48:24      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:dev   index   mes   ble   不能   clear   对象   city   nbsp   

ArrayList是一种动态数组,在new的时候,可以不指定长度,当你添加数据的时候,发现容量不够,他会自动扩容。
引入system.collections 命名空间--实例化ArrayList对象
using system.collections(引入命名空间)
ArrayList engineers=new ArrayList();实例化一个对象
ArrayList engineers=new ArrayList(5)可指定长度

C#3.0语言的新特征
由一系列元素初始化构成,包围在{和}之间并使用逗号进行分割

访问ArrayList单个元素
(类型)arrayli[index] //按指定索引(下标)取得对象
  ↓
需要类型转换

se engineer=(se)engineers[0];
messagebox.show(engineer.sayhi())

arraylist.remove(对象名)//删除指定对象名的对象
arraylist.removeat(index)//删除指定索引的对象
ArrayList.clear()//清楚集合内所有元素
Add(objiec obj)添加
insert(int index,object values)在集合指定位置添加元素
-----------------------------------------------------------
属性:统计整个集合元素总量 Count
整个集合总共能容纳多个元素capacity
方法():清除集合中所有元素的方法 clear();

C#提供另一种集合  动态可维护长度  可通过关键字检索  集合hashtable

arraylist每个元素对应一个索引
hashtable 通常称为哈希表
根据键(key)可以查到相应的值(value)

ArrayList集合可以动态维护,访问元素时需要类型转换
hashtable的元素都是以键/值对的形式存在不能通过索引访问元素,只能通过key访问value
使用集合存储数据时容易出现问题:
对象存储不易控制
类型转换容易出错


泛型<T>最常见的用途是创建集合类
泛型集合可以约束集合内元素类型
典型泛型集合list<T>  dictionary<k,v>

<t> <k,v>表示泛型集合中的元素类型

list<se> engineers =new list<se>();
遍历
foreach(SE se in engineers){
messagebox.show(se.sayhi());

}
dictonary<k,v>通常称为字典
<k,v>约束集合中元素类型
编译时检查类型约束
无需装箱拆箱操作
泛型
操作的数据类型被定义为一个参数
泛型类
public class 类名<T>
{
T指类型参数,代表具体的数据类型,可以是类的类型也可以是基本数据类型

}

泛型的重要的重要性
实现代码的重用,未来的主流技术
性能高,避免繁琐的装箱拆箱
提供了更好的类型安全性
clr支持泛型

 

  this.dataGridView1.DataSource = new BindingList<SE>(li);绑定datagrideview 的代码

重新绑定datagrideview 的代码

     BindingSource bs = new BindingSource();
                bs.DataSource = li;
                this.dataGridView1.DataSource = bs;

 

第三章使用集合相关数据

标签:dev   index   mes   ble   不能   clear   对象   city   nbsp   

原文地址:https://www.cnblogs.com/wh1520577322/p/8183402.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!