属性
属性的定义结构:
public int MyIntProp{
get{
// get code
}
set{
//set code
}
}
定义属性需要名字和类型
属性包含两个块 get块和set块
访问属性和访问字段一样,当取得属性的值的时候,就会调用属性中的get块,所以get块,类型需要一个返回值就是属性的类型;当我们去给属性设置值的时候,就会调用属性中的set块,我们可以在set块中通过value访问到我们设置的值。
通过属性来访问字段
我们习惯上把字段设置为私有的,这样外界不能修改字段的值,然后我们可以通过定义属性来设置和取得字段中的值。
private int age;
public int Age{//习惯上属性大写 字段小写
set{
if(value<0)return;
age = value;
}
get{
return age;
}
}
设置属性的只读或者只写
属性可以值只提供一个set块或者get块
private string name;
public string name{
get{
return name;
}
}
属性的访问修饰符
public string name{
get{
return name;
}
private set{
name = value;
}
}
自动实现的属性
//编译器会自动创建private int age属性
public int Age{get;set;}
匿名类型
我们创建变量(对象的时候),必须指定类型,其实我们也可以不去指定类型,这个就是匿名类型,我们可以使用var声明一个匿名类型。
使用var声明的匿名类型,当初始化的时候,这个变量的类型就被确定下来,并且以后不可以修改。
var var1 = 34;