数组 | 能做到存放同种类型数据,且数据个数确定 |
object类型的数组 | 能满足:放各种类型的数据,确定放多少个,但是随意插入元素,数组做不到 |
集合 | 能做到存放各种数据类型,且不确定存放多少个,能做到随意插入 |
目录
一、常用方法
1.1集合ArrayList
ArrayList 需要引用命名空间using System.Collections;
ArrayList 集合名称 = new ArrayList();
ArrayList可以放各种类型的值、长度可变、具有多个方法。
常用方法
Add() | 往集合中添加元素,可以添加数组,但是算成一个元素 |
AddRange() | 可以往集合中添加数组 |
Insert() | 往某个下标的位置插入一个值 |
Clear() | 清空 |
Contains() | 判断元素是否在集合中,返回一个布尔类型的值 |
CopyTo() | 从目标数组的指定索引中,将一定范围元素复制到兼容的一维 |
Count() | 集合中元素的个数 |
IndexOf | 找某一个元素对应的索引 |
InsertRange() | 往某个索引位置插入一个数组 |
Remove() | 移除某一元素(只能移除一个) |
RemoveAt() | 移除索引值对应的值 |
RemoveRange() | 从指定索引开始移除,移除多少个,如果超出索引报异常 |
Reverse() | 反转集合里面的内容 |
Sort() | 可以处理排序功能(甚至还有Max、Min、AVG等) |
Count | 获取长度使用的属性 |
集合可以看做长度可变的,具有很多方法的数组。
//创造随机函数:
ArrayList arr = new ArrayList();
Random r = new Random();
while (arr.Count!=10)
{
int num = r.Next(1, 100);
if (!arr.Contains(num))
{
arr.Add(num);
}
}
for (int i = 0; i < arr.Count; i++)
{
Console.WriteLine(arr[i]);
}
Console.ReadKey();
1.2哈希表Hashtable
哈希表需导入命名空间using System.Collections;
Hashtable 名称 = new Hashtable();
哈希表是key(键)和value(值)组成的,key不能重复,也是用Add()方法添加元素,可以用foreach()循环遍历显示出来。
哈希表是无序的,常用方法和集合基本雷同
1.3泛型集合List
List<int> list = new List<int>();
就是为了专门处理某种类型的,ArrayList对应的是List<类型名>,在尖括号中写什么类型这个集合就是什么类型集合。
1.4字典Dictionary
Dictionary<string, string> 实例名 = new Dictionary<string, string>();
和哈希表很像,都是无序的
区别
二、文件管理(File类)
需导入命名空间using System.IO;
基本操作:
创建:File.Create();
这个是指定路径下创建的文件,如果文件存在则覆盖这个文件。
判存:File.Exist();
判断这个路径下有没有这个文件。
bool 接收名=File.Exist(); 返回的是一个布尔类型
删除:File.Delete();
删除指定路径下的文件,直接删了,回收站没有,如果这个路径下没有这个文件不报异常
复制:File.Copy(要复制的路径,复制到的路径);
这个方法是把文件复制到另一个路径下,复制的同时可以改名。
复制文件的时候如果另一个路径有这个文件且名字相投,会报异常,可以利用这个方法的重载,在第三个参数的位置上协商true,就可以覆盖那个重命名的文件了。例如
拷贝:File.Copy(要复制的路径,复制到的路径,true);
移动:File.Move(之前的路径,移动到的路径);
把文件移动到指定路径下,如果路径下有这个文件就会报异常。
指定路径下创建文件和删除文件
创建:CerateDirectory
删除:Delete
获取路径下文件的路径
GetDirectories
获取全路径
GetFiles
方法太多了,到时候就写File点下输入半个括号方法就都能看见,有关于点出来的介绍。