c#【9】接口。。。

152 阅读4分钟

接口、泛型、文件操作、集合 (字典)、列表

1、接口

  1. 接口中包含很多没有实现的函数成员,每个成员不需要设置访问修饰符,默认都是 public公开的。 image.png
  2. 接口中可以放方法,属性(只能用自动属性就是简写模式),索引器,这些的本质其实还是函数
  3. 因为接口中的函数都是没有实现的,所以接口是不能实例化的
  4. 接口可以被类继承,接口可以多继承其他接口 image.png 注意:类也可以继承多个接口,但只能继承一个类。接口可以多继承,多个接口用逗号分开。 继承类时,类放在最前面。 image.png
  5. 显示实现接口 我们在开发中如果自己的类中有和接口中同名的函数,那么在继承接口的时候,类中的同名函数会被认为是实现接口中的函数,但是我们就想区分出来,另外去实现接口中的函数怎么办呢? image.png image.png image.png

2、File类处理小文件的读写

注意:需要导入using System; using System.IO; using System.Text;

File类,读写文件,整个文件信息一次性全部读取(一般是小文件)。

  1. File.ReadAllText(String, Encoding) 是一个内置的 File 类方法,用于打开文本文件,然后使用指定的编码读取文件中的所有文本,然后关闭文件。只能读取文本文件。 image.png 2.File.ReadAllLines(String, Encoding) 是一个内置的 File 类方法,用于打开文本文件,然后将文件的所有行读入具有指定编码的字符串数组,然后关闭文件。 image.png
  2. File.WriteAllText(String, String) 是一个内置的 File 类方法,用于创建一个新文件,将指定的字符串写入文件,然后关闭文件。如果目标文件已经存在,它会被覆盖。(是覆盖image.png 4.File.AppendAllLines(String, Ienumerable, Encoding) 是一个内置的 File 类方法,用于使用指定的编码将指定的行附加到文件中,然后关闭文件。如果指定的文件不存在,此方法将创建一个新文件,将指定的行写入该文件,然后关闭该文件。 image.png
  3. File.AppendAllText(String, String) 是一个内置的 File 类方法,用于将指定的字符串附加到给定的文件,如果该文件不存在,则创建一个新文件,然后完成附加,并关闭文件。 image.png

3、泛型类

1.为什么要泛型

我们很多时候在往方法传参数都是固定某种类型的数据,但是很多时候我们数据类型可能是多种的,比如你比较两个数的大小有可能是小数也有可能是整数(这里只是举例子),那么你要对不同数据类型进行操作就要使用到泛型

2.定义泛型

动态类型:dynamic image.png 同样我们也可以定义泛型函数,泛型列表等,使用方式也和泛型类一样。

4、列表List(集合类的一种)

1.为什么要使用列表

如果我们用数组来存一组数据,有一个缺点就是数组的大小是固定的,我们如果要往数组中添加数据或者删除数据都不方便,如果使用List列表我们可以很方便的添加数据,删除数据还有其他对数据的操作。

2.泛型列表

  1. 创建一个整型列表,使用泛型的形式规定数据类型 image.png
  2. 给列表设定初始值 image.png
  3. 往列表中添加元素 image.png
  4. 获取列表元素个数 image.png
  5. 列表容量变化机制
  • list.Count()获取的是列表元素的个数,list.Capacity()获取列表实际的长度也就是容量,当元素个数是0的时候,初始容量也为0,当元素个数小于等于大于0的时候容量为4,此后如果添加元素超过总容量的时候,那么将容量翻倍。 image.png
  1. 在指定下标位置插入元素 image.png
  2. 移除指定的元素 image.png 8.移除指定下标位置的元素 image.png 9.查找元素在列表中第一次出现的下标位置
  • 从前往后查找IndexOf 从后往前查找LastIndexOf image.png 10.添加一整个列表元素到另外一个列表中 image.png image.png

5、字典Dictionary(集合的一种)

字典中存放的是一组组键值对

1.创建一个集合

image.png

2.往字典中添加元素

image.png

3.遍历字典中的键和值

  • 同时遍历键和值 image.png
  • 只遍历键名 image.png
  • 只遍历值 image.png

4.查找字典中是否含有对应键名和值

image.png

5.合并两个字典

image.png

21.练习题

  1. 练习一: 将一个数组中的奇数放到一个集合中,再将偶数放到另一个集合中,最终将两个集合合并为一个集合,并且奇数显示在左边,偶数显示在右边 image.png
  2. 练习二: 使用字典的方式计算出任意字符串中每个字符出现的次数 image.png