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 属性封装了私有字段 name。get 访问器用于获取字段值,而 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; }
    }
}

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

相关推荐
何中应1 分钟前
【Go-1】变量&常量定义
开发语言·后端·golang
CarIise13 分钟前
Spring 框架AOP与 XML 基础
java·开发语言
geovindu27 分钟前
rust:N-Barrier Pattern
开发语言·后端·设计模式·rust·屏障模式·并发型模式
Godspeed Zhao32 分钟前
从零开始学AI21——决策树
算法·决策树·机器学习
AI宇宙狂想家32 分钟前
开源 AI 视频工具进化史:从难用到好用,OpenMontage 改了什么
开发语言·前端·人工智能·开源·ai创业·openmontage
开开心心就好37 分钟前
网页图片批量下载工具,输入链接就保存
服务器·算法·leetcode·支持向量机·pdf·ocr·1024程序员节
氷凌公子38 分钟前
算法与UI拆分中遇到的问题及解决方式
c#·onnx·yolov26
大鹏说大话1 小时前
和小鹅通相近的知识付费小程序平台有哪些
开发语言
Dovis(誓平步青云)1 小时前
启元 T1 Pro 视觉伺服实践:基于 HSV 阈值与针孔测距的启元机器人寻物实现
开发语言·人工智能·机器学习·二次开发