1.数据成员和属性的区别
1.属性是由get set 访问器为重要的组成部分
privat int a ; //这个为数据成员,成员变量
属性为 private int a;
public in a {get; set ;};
相当于以下代码的简化
private int a;
public in a
{get
{
return a ;
}
set
{
a = vaule; //vaule是系统默认的一个传递参数
}
}
2区别SetA 和 GetA等自定义方法的区别就是简化,效率化了
2,属性的好处
1.好处:提高了安全性 ,简化代码
2.属性的设置条件 :在set中 我们可以用if(XX)return;的语句来限制修改的范围
3.属性的简写: 直接{get;set;}
4.属性的读写控制: 可以在get和set前面加上访问修饰服 private 让其 变成只可读或者只可写
public int a{ private get ; set ;}
3.匿名类型的性质
var 它的变量类型取决于 给变量赋值的值 的类型
var a = 1.0 f ; //那么var 此时就是float类型,且不可更改了
4.存储区域
1.动态存储区域
(1)栈区:相当于超市,访问的速度快,简单类型存储
(2)堆区:相当于仓库,访问的速度慢,复杂类型存储
2,静态存储区域
5.CG系统-堆区的垃圾回收系统
1.CG是CLR框架所编写的系统
2.怎么实现垃圾回收的:
在c#和java中,系统是可以自动回收垃圾的 ,也就是当开辟空间了时候,系统给你标记为正品,当走 之后标记为废品,然后CG系统进行回收
6,值类型 和 引用类型
值类型是传递一段 ,为数值
引用类型传递二段 ,一段引用也就是地址 ,另一段为其指向的 对象 : 数组,类,字符串类
7.ref 和 out
1.两个都是传递的参数的类型
2.ref 是 传递参数的地址的修饰符
3.out 是返回多个参数的修饰符
8,引用类型存储的实质
1.分为两个部分,引用部分(地址)存储到栈区中,值数据存储到堆去当中
9,字符串常量是怎么存储的
1,存储方法:首先地址存储在栈区,然后值存储在静态存储区,通过栈区的引用指向静态存储区当中的数据
2,好处:优化内存,减少不同空间的调用
10,字符串数组是怎么存储的
首先字符串的地址存储在栈区,字符串中每个数组的成员的地址存储在堆区,值存储在静态存储区中
11.开发环境就是编译的代码的时候,运行环境就是测试运行的时候
12.捕捉异常
1,try
在try里面加上break; 可以跳出循环
2,catch
catch(异常样例类型 XX) ,在其中可以进行提示或者修改
3,finally
不管有无异常最后都会执行