第二十三讲:泛型入门
来源:互联网 发布:安徽大学网络平台 编辑:程序博客网 时间:2024/06/04 23:30
1. 泛型简介及优缺点
1.泛型是具有占位符(类型参数)的类,结构,接口和方法
2. 运行速度会因为类型转换的次数减少而加快
3. List<T>类是ArrayList类的泛型等效类。该类用大小可按需动态增加的数组实现lList<T>泛型接口
4. 索引为整数,从0开始
泛型的优点:
1. 性能好
2. 类型安全
3. 二进制代码重用
4. 代码的扩展
执行结果:
1.泛型是具有占位符(类型参数)的类,结构,接口和方法
2. 运行速度会因为类型转换的次数减少而加快
3. List<T>类是ArrayList类的泛型等效类。该类用大小可按需动态增加的数组实现lList<T>泛型接口
4. 索引为整数,从0开始
泛型的优点:
1. 性能好
2. 类型安全
3. 二进制代码重用
4. 代码的扩展
5. 命名约定
从普通数组到高级强类型数组:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;namespace Con23{ class Program { static void Main(string[] args) { Console.WriteLine("=======关于数组从普通到强类型的总结============"); Console.WriteLine("\n*********普通滴**********"); int[][] pt = new int[3][];//就整个普通的锯齿数组吧 pt[0] = new int[3] { 1,2,3}; pt[1] = new int[5] {5,6,7,8,9 }; pt[2] = new int[8] { 1,2,3,4,5,6,7,8}; foreach (int[] i in pt) { foreach (int j in i) { Console.Write(j+" "); } Console.WriteLine("\n--------------------------"); } Console.WriteLine("\n*********稍微高级点的Array**********"); Array arr1 = new object[] { "abc", "bcd", 1, 2, 3, 'a', 'b', 12.3f, 234.45d };//大杂烩,注意初始化的方式 Array arr2 = Array.CreateInstance("abc".GetType(), 5); //这里定义了数组的容量和所要装入的数据类型 //接下来是对arr2这个数组进行装数据,使用的是就是Array的SetValue方法 arr2.SetValue("Hello", 0); arr2.SetValue("123", 1); arr2.SetValue("中国", 2); arr2.SetValue("千山万水", 3); arr2.SetValue("123.456", 4); for (int i = 0; i < arr1.Length; i++) { Console.Write(arr1.GetValue(i).ToString()+" "); //注意这个特殊获取数组元素的方法 } Console.WriteLine("\n"); for (int i = 0; i < arr2.Length; i++) { Console.Write(arr2.GetValue(i).ToString()+" "); //注意这个特殊获取数组元素的方法 } Console.WriteLine("\n\n*********再稍微高级点的ArrayList**********"); ArrayList al = new ArrayList() { "中国人民", "爱中国", 123, 123.456f }; al.Add("中安合正"); al.Add("http://www.umbo.com.cn"); al.Remove(123); //移除指定项 al.RemoveAt(0); //按索引号移除指定项 al.AddRange(new int[] {1,3,6,33 }); //添加一个范围 foreach (object o in al) { Console.Write(o.ToString()+" "); } Console.WriteLine("\n\n*********高级的泛型出现了List<T>**********"); List<string> l = new List<string>() {"How are you!","你好吗?","伟大的神啊!" }; l.Add("哈哈,我新来的!"); foreach (string s in l) { Console.Write(s+" "); } Console.ReadKey(); } }}
执行结果:
0 0
- 第二十三讲:泛型入门
- 第二十三讲项目5-
- Linux运维第二十三讲
- 第二十三讲 面向对象的例外处理
- Java基础:第二十三讲 面向对象概述
- Java基础:第二十三讲 面向对象概述
- 第二十三讲 用户控件与验证码
- 第二十三讲--Undo表空间概述
- 第二十三讲项目2-乱玩数字
- 第二十三讲项目4-三角公式求值
- 第二十三讲项目二 乱玩数字
- 第二十三讲项目四 三角公式求值
- 第二十三讲项目五 我的加班费
- Java SE第五十三讲:泛型详解
- 第二十三讲:二进制文件的操作与字符串流
- JavaSE第二十三讲:static与final使用陷阱
- 第二十三讲 用if语句实现分支结构
- 第二十三讲:二进制文件的操作与字符串流
- 关csp(加密机)分层的概念是怎么回事?
- 搜索引擎爬虫蜘蛛的User-Agent收集
- python装饰器之入门1
- android 事件处理机制之requestDisallowInterceptTouchEvent
- QT中的信号 槽 事件(1)
- 第二十三讲:泛型入门
- 数字签名是什么?
- ListView 中使用第三方组件 二
- ETL 笔记之319
- Android 中startActivity 与startActivityForResult区别
- ubuntu安装vsftp感悟
- 数据库设计多对多关系的几种形态
- (27)检查给定字符串中的是否包含有效数字
- 【备忘】Filter由容器管理,想交给spring管理,需用代理 org.springframework.web.filter.DelegatingFilterProxy