1. 里氏转换
1)子类可以发送给父类
定义一个子类,父类的子类:
Student S = new Student();
Person P = S;
2. protected
只能在子类-派生类里面访问
3. 集合
ArrayList list = new ArrayList();
集合的方法和属性
list.Add("please");//添加元素
list.AddRange(new int[] { 1,2,3,5,4,6});//添加一个集合
list.Insert(2, "hello");//在指定的索引位置插入
list.InsertRange(2, new int[] { 7, 8, 9 });//在指定位置插入一个集合
list.Remove("help");//删除指定元素
list.Clear();//删除所有元素
list.RemoveAt(2); //删除指定的索引值
list.RemoveRange(1, 2);//删除指定范围的值
list.Sort();//升序排序(需要类型一致)
list.Insert(2, "hello");//在指定的索引位置插入
WriteLine("{0},{1},{2}", list[2], list[1], list[0]);
bool b = list.Contains("hello");//返回的是Bool类型
list.Reverse();//翻转元素
int num = list.Count; //获取集合元素总数
int i= list.IndexOf(2);//返回元素为2的索引值
list.LastIndexOf(2);//返回元素为2最后出现的索引值
注意:在C#中,所有类直接或者间接指向Object类
4. 键值对
定义:
Hashtable table = new Hashtable();
Hashtable table = new Hashtable();
table.Add("age", 20); //age 是键, 20 是这个键对应的值
WriteLine(table["age"]);
5 var 弱类型语言
var i = 20; //i的类型是整型int
var str = "hello"; //str的类型是字符串类型
var ch = 'a';//ch是字符类型
var b = true;//b 是布尔类型
// 也就是说var定义的变量会随着它的值 来断定它是什么数据类型
//var 声明的变量必须同时赋值,不然会报错
6.键值对
关键字Hashtable
Hashtable table = new Hashtable();
Hashtable table = new Hashtable();
table.Add("name", "zyx");
table.Add("age", 20);
table.Add("sex", "男");
//还可以这样添加
table["hight"] = "170cm"
foreach(var item in table.Keys)
{
WriteLine("键:{0} ——{1}",item, table[item]);
}
//结果键:age ——20
//键:sex ——男
//键:name ——zyx
// 注意:里面的键值位置是乱的,不是按照添加的方式添加
键 是唯一的,如果要插入一个键,如果已存在,那么值就会覆盖
6.Path类
命名空间是:using System.IO;
string path = @"C:\Users\**\Desktop\test.txt";
WriteLine(Path.GetFileName(path));//获取文件名,包括扩展名
WriteLine(Path.GetExtension(path));//获取文件的扩展名
WriteLine(Path.GetFileNameWithoutExtension(path));//获取文件名,不包括扩展名
WriteLine(Path.GetFullPath(path));//获取文件的全路径,包括扩展名
WriteLine(Path.GetDirectoryName(path));//获取文件所在文件夹的目录
- File 类
//在规定路径中创建zyx.txt文件
//File.Create(@"C:\Users\**\Desktop\zyx.txt");
//将前面路径的文件 复制到 后面路径中
//File.Copy(@"C:\Users\**\Desktop\zyx.txt", @"G:\source\new.txt");
//将前面路径的文件移动到后面路径中,类似剪切
//File.Move(@"C:\Users\**\Desktop\zyx.txt", @"G:\source\newzyx.txt");
//WriteLine("移动成功");
File.Delete(@"C:\Users\**\Desktop\test.txt");
WriteLine("删除成功");