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

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

相关推荐
JAVA社区9 小时前
Java进阶全套教程(四)—— SpringMVC框架详解
java·开发语言·spring·面试·职场和发展
Lumbrologist9 小时前
【C++】零基础入门 · 第 2 节:变量、基本数据类型与输入输出
java·开发语言·c++
码完就睡9 小时前
C语言——动态内存
c语言·开发语言
xyq20249 小时前
Java 数组
开发语言
Peter·Pan爱编程9 小时前
10. new_delete 不是 malloc_free 的包装
c++·人工智能·算法
雨辰AI10 小时前
人大金仓 V9 生产级专用监控大盘(含 120 + 指标 + 告警规则 + 一键导入)
java·开发语言·数据库·mysql·政务
时寒的笔记10 小时前
day13~14核心案例某采招网
开发语言·javascript·ecmascript
彦为君10 小时前
Java文件处理效率库Commons-IO(速览)
java·开发语言·mfc
不会编程的懒洋洋11 小时前
VisionPro 中 图像预处理工具
图像处理·笔记·c#·视觉检测·visionpro
不知名的老吴11 小时前
双栈秒杀表达式的生成方式
数据结构