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; }
    }
}

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

相关推荐
m0_634448892 分钟前
从上下文学习和微调看语言模型的泛化:一项对照研究
学习·算法·语言模型
三十一61429 分钟前
6.4 C++作业
开发语言·c++
Once_day38 分钟前
代码训练LeetCode(21)跳跃游戏2
算法·leetcode
CodeCraft Studio1 小时前
PDF处理控件Aspose.PDF教程:在 C# 中更改 PDF 页面大小
前端·pdf·c#
我的golang之路果然有问题1 小时前
ElasticSearch+Gin+Gorm简单示例
大数据·开发语言·后端·elasticsearch·搜索引擎·golang·gin
Alan3161 小时前
Qt 中,设置事件过滤器(Event Filter)的方式
java·开发语言·数据库
InCerry2 小时前
.NET周刊【5月第4期 2025-05-25】
c#·.net·.net周刊
德先生&赛先生2 小时前
LeetCode-934. 最短的桥
算法·leetcode·职场和发展
hello kitty w2 小时前
Python学习(6) ----- Python2和Python3的区别
开发语言·python·学习