首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库C#C#基础

C#中只读(readonly)字段的使用

减小字体 增大字体 作者:biye5u.com  来源:本站原创  发布时间:2018-10-22 20:16:58

顾名思义,只读字段,就是说在程序运行过程中,程序中可以读取这个字段的值,而不能修改它的值。在C#中可以使用readonly关键词来定义一个只读字段。

在C#中使用只读字段主要有以下几个要点

(1)只读字段可以在定义的同时赋值或者在类的构造方法中给其赋值;

(2)除了构造方法外,其他地方不可以修改只读字段的值;

(3)只读字段的属性只能有get访问器,不能有set,这是显而易见的;

只读字段与常量的区别

常量(使用const关键字定义)只能在声明的同时初始化(赋值)。

readonly 字段可以在声明或构造函数中初始化。 因此,根据所使用的构造函数,readonly 字段可能具有不同的值。

readonly字段

只读字段使用举例:

class Student
{
    readonly string studentId;
    string studentName;

    public Student(string sId)    //在构造函数中初始化只读字段
    {
        this.studentId = sId;
    }

    public Student(string sId, string sName)   //另外一个构造函数
    {
        studentId = sId; studentName = sName;
    }

    public void PrintInfo()   //普通方法
    {
        Console.WriteLine("学号:{0}", sId);
        Console.WriteLine("姓名:{0}", sName);
    }

    public string StudentId    //属性
    {
        get{ return this.sId;}
        set{ sId = value;}  //错误,只读字段不能有set
    }
}

从上面的例子中可以看出,在不同的实例中只读字段的值可以不同。也可以在多个构造函数中设置只读字段的值。

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 2 条,得分 200 分,平均 100 分) 查看完整评论
[回复] 2biye5u.com   打分:100分  发表时间:2018-10-27
· 也可以用在只读结构体和只读引用(ref readonly)中,具体可以参考微软网站上的教程
[回复] 1你的学生   打分:100分  发表时间:2018-10-25
· readonly只能用到字段中吗?有没有其它地方使用的?
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:

相关文章

    关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
    本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
    Copyright © 2007-2024 biye5u.com. All Rights Reserved.