C#的属性(Property)应用说明(一)

一.Property定义说明:

C# 中的属性(Property)是类和结构体中用于封装数据的成员。它们提供了一种方式来定义类成员的访问和设置规则,通常用于隐藏字段(Fields)的内部实现细节,同时提供控制数据访问的机制。

属性可以看作是对字段的包装器,通常由 get 和 set 访问器组成。

属性(Property)不会确定存储位置。相反,它们具有可读写或计算它们值的 访问器(accessors)

二.基本语法:

复制代码
public class Person
{
    private string name;

    public string Name
    {
        get { return name; }
        set { name = value; }
    }
}

Name 属性封装了私有字段 nameget 访问器用于获取字段值,而 set 访问器用于设置字段值。

三.自动实现的属性:

如果你只需要一个简单的属性,C# 允许使用自动实现的属性,这样你不需要显式地定义字段。

复制代码
public class Person
{
    public string Name { get; set; }
}

在这种情况下,编译器会自动为 Name 属性生成一个私有的匿名字段来存储值。

四.只读属性:

如果你只需要一个只读属性,可以省略 set 访问器。

复制代码
public class Person
{
    public string Name { get; }

    public Person(string name)
    {
        Name = name;
    }
}

五.只写属性:

类似地,如果你只需要一个只写属性,可以省略 get 访问器。

复制代码
public class Person
{
    private string name;

    public string Name
    {
        set { name = value; }
    }
}

备注:以上都理解了,那应用基本没有问题!

相关推荐
ITKEY_21 分钟前
flutter日期选择国际化支持
开发语言·javascript·flutter
CoovallyAIHub27 分钟前
医药、零件、饮料瓶盖……SuperSimpleNet让质检“即插即用”
深度学习·算法·计算机视觉
dragoooon3430 分钟前
[优选算法专题二滑动窗口——串联所有单词的子串]
数据结构·c++·学习·算法·leetcode·学习方法
刃神太酷啦32 分钟前
C++ 异常处理机制:从基础到实践的全面解析----《Hello C++ Wrold!》(20)--(C/C++)
java·c语言·开发语言·c++·qt·算法·leetcode
q5673152335 分钟前
告别低效:构建健壮R爬虫的工程思维
开发语言·爬虫·r语言
枫叶丹41 小时前
【Qt开发】显示类控件(一)-> QLabel
开发语言·qt
Python私教1 小时前
源滚滚Rust全栈班v1.02 无符号整数详解
开发语言·后端·rust
Brookty1 小时前
【算法】双指针(二)复写零
学习·算法
yBmZlQzJ1 小时前
PyQt5 修改标签字体和颜色的程序
开发语言·python·qt
胖达不服输1 小时前
「日拱一码」081 机器学习——梯度增强特征选择GBFS
人工智能·python·算法·机器学习·梯度增强特征选择·gbfs