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

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

相关推荐
无限进步_4 分钟前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio
月殇_木言11 分钟前
Python期末复习
开发语言·python
松涛和鸣11 分钟前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
Booksort12 分钟前
【LeetCode】算法技巧专题(持续更新)
算法·leetcode·职场和发展
OJAC11114 分钟前
2026高校毕业生1270万!但这些学生却被名企用高薪“提前预定”!
算法
Controller-Inversion16 分钟前
岛屿问题(dfs典型问题求解)
java·算法·深度优先
小白程序员成长日记17 分钟前
力扣每日一题 2025.11.28
算法·leetcode·职场和发展
Swift社区21 分钟前
LeetCode 435 - 无重叠区间
算法·leetcode·职场和发展
sin_hielo22 分钟前
leetcode 1018
算法·leetcode
大工mike38 分钟前
代码随想录算法训练营第三十一天 | 1049. 最后一块石头的重量 II 494. 目标和 474.一和零
算法