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

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

相关推荐
.格子衫.3 分钟前
018数据结构之队列——算法备赛
数据结构·算法
光军oi4 分钟前
JAVA全栈JVM篇————初识JVM
java·开发语言·jvm
SunnyDays101111 分钟前
C# 实现高保真 Excel 转 PDF(无需 Office 环境)
经验分享·c#·excel转pdf
Moniane17 分钟前
C++深度解析:从核心特性到现代编程实践
java·开发语言·jvm
uxiang_blog19 分钟前
C++进阶:重载类型转换
linux·开发语言·c++
攻城狮CSU23 分钟前
C# 数据加载专题 之泛型序列化
java·servlet·c#
浩泽学编程24 分钟前
【源码深度 第1篇】LinkedList:双向链表的设计与实现
java·数据结构·后端·链表·jdk
爱编程的鱼37 分钟前
C# 参数详解:从基础传参到高级应用
开发语言·microsoft·c#
Michael_lcf39 分钟前
Java的UDP通信:DatagramSocket和DatagramPacket
java·开发语言·udp
道之极万物灭40 分钟前
Python操作word实战
开发语言·python·word