泛型与集合
泛型与集合框架
陆老师Peter
高校计算机专业教师、项目经理、软件研发负责人。
展开
-
WinForm开发(59)——单例模式(Winform窗体的实现)
在我的设计模式分类当中,我选择单例模式作为我第一个要写的设计模式,其一,单例模式简单、容易理解让人接受,其二,单例模式很常用,在实际的Winform窗体应用开发中能够带来更好的客户体验。 单例模式的核心是在应用程序的生命周期中只实例化一次当前类,让整个应用程序中只拥有一个当前类实例化的对象,在Winform应用程序中,我们显示窗体的方法有两种方法:第一种,Show()方法,这种方法当点击...原创 2019-11-27 15:11:13 · 1581 阅读 · 1 评论 -
泛型(8)——应用
1、default(T)用来取类型的默认值。2、应用案例:MyLazyObject、MyNullable。只有非常消耗内存资源或者其他非托管资源的类才值得用Lazy<T>3、int?编译器会翻译成Nullable<int>类型。4、person.Value.Hello(); //Lazy的Value用来获得延迟创建的对象。5、也可以自己写个Lazy<T...原创 2019-09-07 11:37:31 · 124 阅读 · 0 评论 -
泛型(7)——泛型的约束
1、约束父类或者接口:AAA<T> where T:IDbConnection2、约束构造函数: AAA <T> where T:new(), AAA <T> where T:new()。 3、where T:new()约束T必须有无参的构造函数。 4、约束对于泛型委托、泛型类都是一样的。5、泛型创建一个返回N个对象的方法。6、泛型创建一个对...原创 2019-09-07 11:33:54 · 230 阅读 · 0 评论 -
泛型(6)——泛型委托
EventHandler<T> Func原创 2019-09-07 11:28:15 · 101 阅读 · 0 评论 -
泛型(5)——泛型方法
1、泛型方法:方法也可以定义泛型,在方法名后用<>将类型标注即可。 static IList<T> ToList<T>(ArrayList list) { IList<T> retList = new List<T>(); foreach (object obj in ...原创 2019-09-07 11:26:28 · 427 阅读 · 0 评论 -
泛型(4)——泛型集合(dropped)
1、编写泛型版MyList,内部用ArrayList保存数据。提供:T this[int index]、void Add(T item)、int Count三个成员。 class MyList<T> { private ArrayList list = new ArrayList(); public T this[int index] ...原创 2019-09-07 02:45:48 · 161 阅读 · 0 评论 -
泛型(3)——泛型
1、复习,对比ArrayList和List<T>,ArrayList中的数据放进去以后再拿出来都是object标签,因此需要类型转换,而且很难阻止非法类型的加入。List<T>则可以指定盛放的数据的类型。2、用ArrayList编写泛型版MyList,只要在类名后用<>将类型占位用一个一个标识符来表示即可,惯例是一个T。在类中就可以用T来代表一个类型名了。在...原创 2019-09-07 02:43:10 · 93 阅读 · 0 评论 -
《Java 2 实用教程》课程学习(15)——第15章 泛型与集合框架
原创 2020-04-09 13:56:49 · 243 阅读 · 0 评论 -
IEnumerable接口(3)——总结 IEnumerable 和 IEnumerator接口 的用法
本文主要介绍了C#中IEnumerable和IEnumerator接口的相关知识。Foreach常用于循环访问集合,对实现IEnumerable的接口的容器进行遍历,IEnumerable和IEnumerator接口的区别,按官方的解释,IEnumerable是枚举器接口,IEnumerator是迭代器接口,从字面意思来看相差不大,逐一分析一下。IEnumerable接口public interf...转载 2019-12-18 10:33:57 · 289 阅读 · 0 评论 -
文件-- 字节相互转换(word、图片、pdf...)
方式一:/// <summary> /// word文件转换二进制数据(用于保存数据库) /// </summary> /// <param name="wordPath">word文件路径</param> /// <returns>二进制</returns> ...转载 2019-12-17 11:47:34 · 901 阅读 · 0 评论 -
怎样将byte数组转为pdf
/** 获得指定文件的byte数组 **/ private byte[] getBytes(String filePath){ byte[] buffer = null; try { File file = new File(filePath); FileInputStream fis = new FileInputStream(file); ByteArrayO...转载 2019-12-17 11:34:38 · 7051 阅读 · 0 评论 -
Byte[]、Image、Bitmap 之间的相互转换
/// <summary> /// 将图片Image转换成Byte[] /// </summary> /// <param name="Image">image对象</param> /// <param name="imageFormat">后缀名</...转载 2019-12-17 11:14:43 · 819 阅读 · 1 评论 -
数组与集合
数组用于保存固定数量的数据,定长,占用内存少,遍历速度快;集合保存的数据数量,可以在程序的执行过程中,不断发生变化,不定长,占用内存多,遍历速度慢。以上是我个人的理解,不知道对不对。...原创 2019-12-17 11:11:32 · 69 阅读 · 0 评论 -
字节数组 Byte[]
字节(Byte 发音:/'bait/):字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号"."占1个字节的大小,中文句号"。"占2个字节的大小 。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值:0...转载 2019-12-17 11:06:32 · 12771 阅读 · 0 评论 -
将bitmap转为File文件
public void saveBitmapFile(Bitmap bitmap) { File file = new File("storage/emulated/legacy/s.jpg");//将要保存图片的路径 try { BufferedOutputStream bos = new BufferedOutputStream(new FileOutput...转载 2019-12-17 10:50:21 · 1232 阅读 · 3 评论 -
C# bitmap转换为字节流
public static byte[] BitmapByte(Bitmap bitmap) { using (MemoryStream stream = new MemoryStream()) { bitmap.Save(stream, ImageFormat.Jpeg); ...转载 2019-12-17 10:43:06 · 1632 阅读 · 0 评论 -
c# Bitmap byte[] Stream 文件相互转换
//byte[] 转图片public static Bitmap BytesToBitmap(byte[] Bytes) { MemoryStream stream = null; try { stream = new MemoryStream(Bytes); ...转载 2019-12-17 10:58:45 · 1658 阅读 · 0 评论 -
集合(11)——C#中List〈string〉和string[]数组之间的相互转换
1,从System.String[]转到List<System.String>System.String[] str={"str","string","abc"};List<System.String> listS=new List<System.String>(str);2, 从List<System.String>转到Syste...转载 2019-12-09 12:17:07 · 569 阅读 · 0 评论 -
集合(10)——怎么将ArrayList中的数据全部清除
ArrayList listCode = new ArrayList();listCode.Add("abc123")listCode.Clear();//清空listCode中的数据原创 2019-10-17 11:15:48 · 2748 阅读 · 0 评论 -
【C#】面向过程(15)——集合(8)——数组——foreach循环
foreach循环:string[] names= {"tom","jerry","lily"};foreach(string name in names){ Console.WriteLine("我的名字{0}",name);}1、和for的区别:for可以不逐个遍历,比如每隔一个遍历一个,或者可以从后向前遍历。2、foreach遍历过程中不能对集合做修改(讲List的...原创 2019-08-29 11:29:47 · 201 阅读 · 0 评论 -
集合(1)——泛型(1)——列表ArrayList 和泛型
一、列表1、概念:ArrayList,可以看做是动态的数组。Add、Clear、Contains、Count、Remove、RemoveAt、ToArray(转换,再没关系)、索引器。(1)ArrayList有一个非常重要的方法Add,作用是把一堆东西放到动态数组里。(2)Clear是清空这个ArrayList。(3)Count是计算ArrayList的长度。(4)Remove...原创 2019-06-22 15:17:56 · 671 阅读 · 0 评论 -
集合(5)——DataSet(1)——如何取DataSet第一个表中第一行一列的数据
private void button1_Click(object sender, EventArgs e) { //假定目前dataset里只有一个表 DataTable dt = ds.Tables[0]; string textname = "tn";//必须保证有这行 ...原创 2019-07-11 17:42:17 · 2378 阅读 · 0 评论 -
集合(3)——C#中ArrayList 对应的命名空间
using System.Collections;原创 2019-06-27 14:52:33 · 5295 阅读 · 0 评论 -
集合(7)——Dictionary字典(2)——C#中的拼音检索
1、为什么要用拼音检索?坐席只能根据客户的语言进行判断,无法准确写对姓名。2、Visual Studio International Pack3、练习:根据文档学习使用方法。发下安装包自己探索。目标:输出一个汉字的拼音。4、CHS:Simplifed Chinese,简体中文。CHT:Traditional Chinese :繁体中文。5、两种实现方式:实时检索(速度慢);增加一个...原创 2019-07-16 21:00:46 · 552 阅读 · 0 评论 -
集合(6)——DataSet(2)——获取DataSet中某行某列的数据
LabelText=DataSet11.Tables("COMM.USERS").Rows[0]["User_Name"].tostring()LabelText = DataSet11.Tables("COMM.USERS").Rows(0).Item("user_name")Label.Text=ds.Tables(0).Rows(i).Item( "列名 ")Label.Te...原创 2019-07-11 17:44:06 · 1051 阅读 · 0 评论 -
集合(4)——泛型(2)——C#基础: List T 和 DataSet 的相似点和不同点
相似点:都是集合类型,存储数据用的。不同点:List<T>是强类型,其中只能存储类型为T的数据,具有了类型安全的优点。Dataset是弱类型,其中的数据类型都是object,表示数据库的二维表映射,分为行列。List<T>存储的是一个model 一个T对象,而属性和数据又都存储在对象里面。DataSet存储的是一张一张的表,有自己的列和行。这两个都可以用来存...原创 2019-07-03 10:35:19 · 319 阅读 · 0 评论 -
集合(9)——C#常用容器(集合)
前言数据结构就是相互之间存在一种或多种特定关系的数据元素的集合。 程序界有一点很经典的话,程序设计=数据结构+算法。用源代码来体现,数据结构,就是编程。而本文则是主要介绍C#中常用的集合Array(数组)相信大家一开始学习的时候接触到的集合就是数组了,他也是最简单的集合。String[] array = new String[3];array[0] = "张三";ar...转载 2019-09-23 17:52:46 · 234 阅读 · 0 评论 -
集合(2)——Dictionary字典(1)——Dictionary(字典)→ Hashtable等集合类
一、Dictionary(字典)→ Hashtable1、Key-value Pair 键值对。成语不可以重复,但是解释可以重复。2、Dictionary<K,V>: K即Key是键,V即value是值。(1)Add:添加,如果重复,则报错。(2)索引器方式设置值:可以重复设置,即使不存在也没关系,如果重复则新数据覆盖旧数据。(3)ContainsKey,判...原创 2019-06-22 21:37:52 · 241 阅读 · 0 评论