首页 > 编程语言 >C# readonly修饰符

C# readonly修饰符

时间:2023-08-18 18:35:31浏览次数:40  
标签:C# 修饰符 List readonly program testInt new

readonly修饰符在作祟
强化官方解释:

  1. readonly是一个修饰字段的关键字:被它修饰的字段只有在初始化或者构造函数中才能够赋值.
  2. readonly修饰的引用类型字段必须始终引用同一对象: readonly 修饰符可防止字段替换为引用类型的其他实例, 但是,readonly不会妨碍通过该字段修改字段引用的数据。

文字比较拗口,多读几次就能体会。

    private readonly  List<int> _testInt;
    Program( List<int> testInt) 
    {
        _testInt = testInt;
    }
    static void Main(string[] args)
    {
        ChangeReadonlyRef();
    }

    static void ChangeReadonlyRef() 
    {
        var l = new  List<int>{1};
        var program = new Program(l);
        Console.WriteLine($"testInt.Count= {program._testInt.Count()}");
        l = new List<int>();   // l 变量重新指向。 但是 _testInt 还是指向原来的引用。
        Console.WriteLine($"testInt.Count= {program._testInt.Count()}");
        program._testInt = new List<int>();  //编译报错!!
    }

标签:C#,修饰符,List,readonly,program,testInt,new
From: https://www.cnblogs.com/JulianHuang/p/17641259.html

相关文章

  • OpenCloudOS WOW 活动上线啦!千份社区好礼等你来拿!
    由OpenCloudOS社区联合腾源会开源摘星计划2023推出的OpenCloudOSWow贡献征文活动,正式开启啦!「OpenCloudOSWow」有海量的挑战任务、丰厚的成长激励、社区助教指导以及实践案例,帮助大家了解和参与OpenCloudOS社区,并在社区中学习和成长。同时让更多企业和社区伙伴获取OpenC......
  • .NET Core基础到实战案例零碎学习笔记
    前言:前段时间根据[老张的哲学]大佬讲解的视频做的笔记,讲的很不错。此文主要记录JWT/DI依赖注入/AOP面向切面编程/DTO/解决跨域等相关知识,还包含一些.NETCore项目实战的一些案例。我是西瓜程序猿,感谢大家的支持!一、ASP.NETCore基础1.1-.NETCore概述1.1.1-.NETCroe简介(1......
  • Chat AI 国内中文版本 Chat Emy
    Chat Emy是基于GPT-3.5架构开发的一个中文智能对话系统。这个系统是由仙易(上海)科技有限公司研发,旨在为中文用户提供更加高效、智能、自然的对话体验。Chat Emy不仅能够写诗、写代码、写文案,甚至能独立完成一篇学术论文,当然它会的可不止这些。Chat Emy的核心技术是基于深度学习......
  • Chat Emy正式上线了,国内chatai
    Chat Emy是一款基于GPT(生成式预训练)模型的自动对话生成系统,由仙易(上海)科技有限公司开发并于2023年8月8日发布上线。这一系统的发布引Chat Emy在国内的发布标志着深度学习和人工智能领域又迈出了重要一步,为国内智能对话系统的发展带来了新的可能性。Chat Emy是基于GPT-3.5(Gener......
  • Chat Emy怎么提高办公效率
    在现代办公环境中,信息爆炸和复杂任务的处理常常使得工作效率受到限制。随着人工智能技术的迅猛发展,聊天型生成模型(ChatEmy)正逐渐引起关注,被认为可以改善办公效率。在日常工作中,我们经常需要填写表格、整理文件、发送邮件等。将ChatEmy应用于这些任务中,可以节省大量的时间和精力。......
  • Chat Emy改变信息传播方式产生新的变革
    信息传播已经成为现代社会中不可或缺的一部分。而随着人工智能技术的快速发展,新的信息传播方式逐渐崭露头角。而ChatEmy作为一种基于大规模语言预训练模型的对话生成技术,对信息传播方式产生了重大的变革。ChatEmy通过对话生成技术实现了个性化传播。与传统的广播和电视媒体相比,Ch......
  • npm加参数--host启动报错 Could not auto-determine entry point from rollupOptions
    参考:https://blog.csdn.net/qq_41664096/article/details/118961381使用以下命令启动npm只能本机访问npmrundev如果需要网络访问则需要加参数--hostnpmrundev--host0.0.0.0会报错(!)Couldnotauto-determineentrypointfromrollupOptionsorhtmlfilesandt......
  • checkmin 线段树
    题意:给你一个长为\(n\)的序列\(a\),支持:1lrx:\(\foralla_i\in[l,r],a_i\gets\min(a_i,x)\)。2lr:求\(\sum_{i\in[l,r]}a_i\)。3lr:求\(\max_{i\in[l,r]}a_i\)。数据范围:\(n,m\le10^5\)。思路:考虑线段树,显然一个结点需要维护的基本信息为\(sum\)和......
  • C学习7
    1、取出整数各位数字#include<stdio.h>voidseparate(intn){if(n>9){separate(n/10);}printf("%d",n%10);}intmain(){unsignedintnum=0;printf("请输入需要分解的数字:");scanf_s("%d",......
  • C# Regex 获取<table></table>的html
    [Fact]publicvoidRegex_Test(){varrowHtml=@"<divclass=\""container\""><divclass=\""titledottedline\"">XXXXXX股份有限公司-受益所有人查询结果</div></di......