文档详情

Lambda表达式学习(补足六个汉字).doc

发布:2018-12-26约1.47万字共12页下载文档
文本预览下载声明
HYPERLINK /zhouji432600/archive/2010/05/28/1746228.html Lambda表达式学习   项目里面需要经常对一系列同类型集合进行操作 , 如对集合进行增加元素 , 删除集合的指定索引的元素等等.   我们可以使用ArrayList来进行. 如 ? 1?ArrayList?stringArrayList = new?ArrayList(); 2?stringArrayList. Add(大家好); 3?stringArrayList. Add(你们好); 4?stringArrayList. Add(同志们好); 5?string?str1 = (string)stringArrayList[0];//取出一个元素后 , 需要转换一次类型才可以 ? ?或者是 ? 1?ArrayList?intArrayList = new?ArrayList(); 2?intArrayList. Add(6); 3?intArrayList. Add(8); 4?intArrayList. Add(66); 5?int?int1 = (int)intArrayList[0];//取出一个元素后 , 需要转换一次类型才可以 ?   但是ArrayList中每个元素的类型都是Object(stringArrayList[0]的类型是Object) , 这意味着我们每一次的操作 , 其实都进行了隐式的类型转换 , 加入资料是把普通类型转换成Object类型 , 取出资料是把Object类型转换成普通类型.   于是我在想象 , 如果有一种数组类型 , 在定义的时候 , 可以给出每个元素具体的类型 , 并且在赋值或者取值的时候 , 就是完全按照这个类型进行操作该多好.   在. net2. 0里面 , 我找到了List这个类型. List是一个泛型 , 我们看看List的使用 ? 代码 1?Liststring?stringArrayList? = ?new?Liststring(); 2?stringArrayList. Add(大家好); 3?string?str1? = ?stringArrayList[0];//直接赋值成功!因为取出来的就是string 4?//或者 5?Listint?intArrayList? = ?new?Listint(); 6?intArrayList. Add(8); 7?int?int1?=?intArrayList[0];//直接赋值成功!因为取出来的就是int ? ?   大家可以看出 , List在实例化的时候就需要定义一个类型 , 也就是尖括号中间的东西 , 在增加元素 , 或者获取元素的时候 , 操作的都是最开始定义的那种类型. List便是传说中的泛型类型.   泛型可以用在方法上 , 也可以用在类上. 如果看到某个方法或者类后面带有尖括号的 , 那么这个肯定就是泛型了.   现在 , 我找到了能够有效存储我要操作的集合类型 , 那么我们要解决一些操作了.   我需要对集合进行一个连接输出(把所有的元素连接在一起 , 每个元素之间使用BR来分割) , 还需要知道所有元素的总长度. 显然 , 光一个List类型是解决不了问题的. 于是我自己定义了一个自己的泛型类型 ? 代码 ?1?///?summary ?2?????///?这是一个泛型类 , 类名后面接着一个尖括号里面的那个t , 是我们自己定义的 , 如果你高兴 , 你可以定义w , y , z , WC都没有问题! ?3?????///?这个T表示说我们在实例化类的时候 , 需要告诉类 , 我们是用哪一种类型来进行操作. ?4?????///?/summary ?5?????///?typeparam?name = T/typeparam ?6?????public?class?MyListT ?7?????{ ?8?????????public?ListT?_List?{?get;?set;?} ?9?????????public?MyList() 10?????????{ 11?????????????this. _List? = ?new?ListT(); 12?????????} 13?????????///?summary 14?????????///?用来连接所有元素用 15?????????///?/summary 16?????????///?returns连接后的字符串/returns 17?????????public?string?JoinOut() 18?????????{ 19?????????????StringBuilder?stbTemp?
显示全部
相似文档