C# 的属性的写法和赋值

C#中对于属性的写法和赋值方式多种多样,特此写一篇博客进行总结。

当然,属性本质就是通过方法对一个私有字段进行赋值和取值

以一个Person 类为例,有 NameAge 属性,现在的喜闻乐见的写法如下

public class Person
{
	public string Name { get; set; }
	public int Age { get; set; }
}

上面这种写法就是使用自动属性的写法,此文只是归纳总结,具体可以百度,这种写法极大的方便的属性编写,最初的写法方式如下

public class Person
{
    private string _name;
    private int _age;
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }
    public int Age
    {
        get { return _age; }
        set { _age = value; }
    }
}

看起来相当繁琐,也等价于如下写法,此写法也是java中的使用方式

public class Person
{
    private string _name;
    private int _age;
    public string GetName()
    {
        return _name;
    }
    public void SetName(string value)
    {
        _name = value;
    }
    public int GetAge()
    {
        return _age;
    }
    public void SetAge(int value)
    {
        _age = value;
    }
}

按照上面的方式来说,因为方法可以是 public,也可以是 private 的,所以属性也是

public class Person
{
    public string Name { get; private set; }
    public int Age { get; private set; }
}

此文就是茴香豆的”茴“有几种写法一样,只是了解一下即可。

posted @ 2020-05-19 10:50  DHclly  阅读(4054)  评论(0编辑  收藏  举报