ArrayList
创建一个集合对象
ArrayList list = new ArrayList();
集合:很多数据的一个集合
数组:长度不可变类型单一
集合的好处:长度可以任意改变 类型随便
list.Add(1);
list.Add(3.14);
list.Add(true);
list.Add("涨三");
list.Add('男');
list.Add(500m);
//以上是添加单个元素用add
//以下是添加集合用addrange
list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, });
Person p = new Person();
list.AddRange(list);
list.Clear();//移除所有元素
/*list.Remove(true);*///删除单个元素 写谁就删谁
list.RemoveAt(0);//根据下标去删除元素
list.RemoveRange(0, 3);//根据下标去移除一定范围内的元素
/*list.Sort();*///升序排列 里面的内容类型要一致
list.Reverse();//反转
list.Insert(1, "插入的");//在指定的位置插入一个元素
list.InsertRange(0, new string[] { "张三", "李四" });//在某个位置插入一个集合
bool b = list.Contains(1);//判断指定的元素
Console.WriteLine(b);
list.Add("你真美");
if (!list.Contains("你真美"))
{
list.Add("你真美");
}
else
{
Console.WriteLine("没有你真美");
}
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
Console.ReadKey();
ArrayList长度的问题
count 表示这个集合中实际包含的元素的个数
capcity 表示这个集合中可以包含的元素的个数
ArrayList list = new ArrayList();
list.Add(1);
Console.WriteLine(list.Count);
Console.WriteLine(list.Capacity);
Console.ReadKey();
Hashtable
创建了一个键值对集合
键值对中键必须是唯一的 值可以改变
Hashtable ht = new Hashtable();
ht.Add(1, 23);
ht.Add(2, 354);
ht.Add(3, 45);
ht.Add(false, "错误的");
ht[1] = "把23干掉";//这种情况特殊可以替代 也是一种添加数据的方式
//ht.Clear();//清空
ht.Remove(3);//把指定的键给干掉
//hashtable遍历的方式就是foreach
foreach (var item in ht.Keys)//var 下面有解释 item 是集合里面的每一项 在 这个集合中 //keys 就是键 item就代表是键 value 就是值 item就代表是值
{
Console.WriteLine("键是————{0},值是————{1}", item, ht[item]);
}
Console.ReadKey();
Console.WriteLine(ht[1]);
Console.WriteLine(ht[2]);
Console.WriteLine(ht[3]);
Console.WriteLine(ht[false]);
Console.WriteLine("========================");
for (int i = 0; i < ht.Count; i++)
{
Console.WriteLine(ht[i]);//add中没有0也没有false 因为for的是一个int 而上面的是正确的表达方式
}
Console.ReadKey();
var 就是可以根据值判断出来值的类型 eg:var n1 = 1; 就能判断出来是int类型
path
path 的方法是专门来操作路径的
string str = @"D\唯美.avi";
Console.WriteLine(Path.GetFileName(str));//获取文件名
Console.WriteLine(Path.GetFileNameWithoutExtension(str));//获取文件名但是不包含扩展名
Console.WriteLine(Path.GetExtension(str));//获取文件的扩展名
Console.WriteLine(Path.GetDirectoryName(str));//获取文件所在文件夹的名称
Console.WriteLine(Path.GetFullPath(str));//获取这个文件所在的全路径
Console.WriteLine(Path.Combine(@"D:\a\", "b.txt"));//连接连个字符串作为路径
Console.ReadKey();
File
创建一个文件
File.Create(@"C:\Users\ASUS\Desktop\new.txt");
Console.WriteLine("创建成功");
Console.ReadKey();
删除一个文件
File.Delete(@"C:\Users\ASUS\Desktop\new.txt");
Console.WriteLine("删除成功");
Console.ReadKey();
复制一个文件
File.Copy(@"C:\Users\ASUS\Desktop\新建文本文档.txt", @"C:\Users\ASUS\Desktop\new.txt");
Console.WriteLine("复制成功");
Console.ReadKey();
List
List<int> list = new List<int>();//一定要加这个括号
list.Add(1);
list.Add(2);
list.Add(3);
list.AddRange(new int[] { 1, 2, 3, 4, 5, });
list.AddRange(list);
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
Console.ReadKey();
//其中的一些方法都和ArrayList里面的都一样
//其中有一个地方不一样
//泛型集合可以转换成数组
int[] nums = list.ToArray();//将集合转成数组就是toarray 将数组转成集合就是tolist