c#属性访问器

快捷设置字段的访问方式,只读或只写或可读可写,就可以使用属性,或称属性访问器。

//可读可写
private string name;
public string Name{
set{
name = value;
}
get{
return name;
}
}

value被认为是写入的值
set访问器用于写入字段,如属性内没有set访问器,则认为是不可写的
get访问器用于读取字段,如属性内没有get访问器,则认为是不可读的

//只写
private string name;
public string Name{
set{
name = value;
}
}
//只读
private string name;
public string Name{
get{
return name;
}
}

也可以用private标记外界是否可以访问,从而设置外界只读,外界只写,后期也可以加入protected

//外界只写
private string name;
public string Name{
private set{
name = value;
}
get{
return name;
}
}
//外界只读
private string name;
public string Name{
set{
name = value;
}
private get{
return name;
}
}

属性的快捷写法

public int age{get;set;}

这种写法可以先前不定义字段,因为编译器会自动帮你生成一个字段,例如 _age

方法参数

public static void Swap(int x,int y)
{
int temp = x;
x = y;
y = temp;
}
MathTool myMath = new MathTool();
int a = 60;
int b = 100;
myMath.Swap(a,b);
//输出结果是  60,100
//int x,int y是形式参数,而a和b是实际参数

引用参数ref
如何达到引用类型参数的效果

public void Swap(ref int x,ref int y){
int temp = x;
x = y;
y = temp;
}
myMath(ref a,ref b);
//注意:引用参数的实参必须是已经初始化过的

输出参数out

public void Cal(int x,int y,out int a,out int b){
a = x + y;
b = x - y;
}
myMath(num1,num2,out result1,out result2);
//注意:输出参数的实参必须是已经赋过值的

数组参数params

public void sum(params int[] a){
int result = 0;
foreach(int x,int a){
result += x;
}
Console.WriteLine("结果为:" + result);
}
myMath.sum(1,2,3,4,5,5);
//注意,数组参数只能使用一次,而且要放到参数列表最后

默认参数值

public int GetYourGrade(int yourAge, int jumpCount = 0){ 
    int grade = yourAge - 6 + jumpCount;   
    grade = grade > 0 && grade < 13 ? grade : -1; 
    return grade;
} 

变量的作用域
图片: https://uploader.shimo.im/f/lqsBQ46DxU7kh7ST.png

图片: https://uploader.shimo.im/f/DuMgCc61joy6lE5p.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值