C#中对于属性的写法和赋值方式多种多样,特此写一篇博客进行总结。
当然,属性本质就是通过方法对一个私有字段进行赋值和取值。
以一个Person
类为例,有 Name
,Age
属性,现在的喜闻乐见的写法如下
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; }
}
此文就是茴香豆的”茴“有几种写法一样,只是了解一下即可。