int[] myArray = {1,2,3,4}
int myEle = myArray[4];
int[] myArray = {1,2,3,4}
int myEle = myArray[4];
F10逐语句:进入函数内部 F11逐过程:不进入函数内部
gtyhgvujyhfvuyjhyhjfvuyjlovfy6rfyujhvgbd6kfvgghdtkvvfyhvhjuyk,vfhy
ddkkkl\
接口可以彼此继承
引用类型存储在堆中,有两段内存,
第一段存储实际的数据,它总是位于堆中;第二段是一个引用,指向数据在堆中的存放位置
栈
堆
GC
17
ahsdia
捕捉和处理异常
try……catch……finally
try中放的是可能出现异常的语句
catch中放的是捕捉到异常后的处理,并且catch中可以指定异常类型,当指定异常类型时,需要在catch后用括号把异常类型放进去,如果只有一个catch,表示捕捉任何类型的异常。
finally中放的是不管是否捕捉到异常都做得处理。
static void ShowList(List<int> list) //遍历列表的方法 ShowList
{
foreach(int temp in list)
{
Console.WriteLine(temp + " ");
}
}
static void Main(string[] args)
{
List<int> list = new List<int>() { 15,25,628,788,524,15};
list.Add(10); //增加数据
list.Insert(3,500); //在索引 3 前面插入数字 500 插入数据
list.Remove(15); //移除第一个 移除数据
list.Remove(15); //移除第二个
Console.WriteLine ( list.IndexOf(25)); //查询数据 所在的索引位置 第一个重复的数据
list.Sort(); //排序方法
ShowList(list); //调用遍历列表方法
Console.ReadKey();
当一片区域没有指针所指的时候会自动被回收,例如数组指向另一个数组时,原来数组将被回收
泛型方法
泛型使用原因:省去因类型不一样的重复代码,例如写一个加法类,返回类型为整形,若想用小数进行加法,则需要重新写类型。
泛型使用:class 类名<T>,类中所有要是使用到的类型换为T
dynamic类型:查阅资料C# - 解析的万金油dynamic_c# 獲取dynamic-CSDN博客
List相关函数
List.Add List.Insert
List.Remove List.Removeat
List.IndexOf()//查找下标,从前往后
List.LastIndexOf()//从后往前
List.Sort
List(列表)的相关内容
创建时没指明列表容量,则默认为4,超过4时按容量倍数扩充,例如:4、8、16···
若表面初始容量,按容量倍数扩充,例如:
List<int> l=new List<int>(10); 10、20、30···
结构体与类的关系
结构体数据直接存放在栈里,类数据存放在堆里
类的实例化对象相当于指针指向堆里的数据
运算符重载
索引器
static
修饰成员变量时:为静态成员,可以被所有的实列共享,通过类名来访问,不能通过实例对象访问
修饰方法时:只可以使用静态变量
修饰类时:类中只能包含静态变量