C#入门

属性

属性是这样的成员:它们提供灵活的机制来读取、编写或计算私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称为“访问器”的特殊方法。这使得数据在可被轻松访问的同时,仍能提供方法的安全性和灵活性。

在本示例中,类 TimePeriod 存储了一个时间段。类内部以秒为单位存储时间,但提供一个称为 Hours 的属性,它允许客户端指定以小时为单位的时间。Hours 属性的访问器执行小时和秒之间的转换。

 1class TimePeriod
 2{
 3    private double seconds;
 4
 5    public double Hours
 6    {
 7        get return seconds / 3600; }
 8        set { seconds = value * 3600; }
 9    }

10}

11
12class Program
13{
14    static void Main()
15    {
16        TimePeriod t = new TimePeriod();
17
18        // Assigning the Hours property causes the 'set' accessor to be called.
19        t.Hours = 24;
20
21        // Evaluating the Hours property causes the 'get' accessor to be called.
22        System.Console.WriteLine("Time in hours: " + t.Hours);
23    }

24}


输出
Time in hours: 24

属性概述
属性使类能够以一种公开的方法获取和设置值,同时隐藏实现或验证代码。

get 属性访问器用于返回属性值,而 set 访问器用于分配新值。这些访问器可以有不同的访问级别。有关更多信息,请参见访问器可访问性。

value 关键字用于定义由 set 索引器分配的值。

不实现 set 方法的属性是只读的。

相关章节

posted @   James·wang  阅读(258)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示