属性

属性的定义结构:

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;

results matching ""

    No results matching ""