c#关键字readonly

C#中的只读字段——readonly public class Color { public static readonly Color Black = new Color(0, 0, 0); public static readonly Color White = new Color(255, 255, 255); public static readonly Color Re 阅读详情

关键点

  1. You can assign a value to a readonly field only in the following contexts:
  • When the variable is initialized in the declaration
public readonly int y = 5;
  • In an instance constructor of the class that contains the instance field declaration.
  • In the static constructor of the class that contains the static field declaration.
  1. A readonly field can’t be assigned after the constructor exits. This rule has different implications for value types and reference types:
  • Because value types directly contain their data, a field that is a readonly value type is immutable.
  • Because reference types contain a reference to their data, a field that is a readonly reference type must always refer to the same object. That object isn’t immutable. The readonly modifier prevents the field from being replaced by a different instance of the reference type. However, the modifier doesn’t prevent the instance data of the field from being modified through the read-only field.
  1. run-time constants

样例

public class SamplePoint
{
    public int x;
    // Initialize a readonly field
    public readonly int y = 25;
    public readonly int z;

    public SamplePoint()
    {
        // Initialize a readonly instance field
        z = 24;
    }

    public SamplePoint(int p1, int p2, int p3)
    {
        x = p1;
        y = p2;
        z = p3;
    }

    public static void Main()
    {
        SamplePoint p1 = new SamplePoint(11, 21, 32);   // OK
        Console.WriteLine($"p1: x={p1.x}, y={p1.y}, z={p1.z}");
        SamplePoint p2 = new SamplePoint();
        p2.x = 55;   // OK
        Console.WriteLine($"p2: x={p2.x}, y={p2.y}, z={p2.z}");
    }
    /*
     Output:
        p1: x=11, y=21, z=32
        p2: x=55, y=25, z=24
    */
}
态路小课堂丨三款800G光模块方案介绍—SR8/DR8/2FR4 800G QSFP-DD 2FR4光模块使用CWDM4波长(1271/1291/1311/1331nm),单通道速率为100G,通过MUX减小光纤的数目,其光学接口采用CS接口或双芯LC接口。 阅读详情

相关推荐

PythonOCC基础使用:建模——倒角倒圆(二维+三维)

占坑

weixin_42755384的博客 4639

C#——关键字:readonly

C#——关键字:readonly readonly 关键字是一个可在四个上下文中使用的修饰符: 在字段声明中,readonly 指示只能在声明期间或在同一个类的构造函数中向字段赋值。 可以在字段声明和构造函数中多次分配和重新分配只读字段。 构造函数退出后,不能分配 readonly 字段。 此规则对于值类型和引用类型具有不同的含义: 1.由于值类型直接包含数据,因此属于 readonly 值类型的字段不可变。 2.由于引用类型包含对其数据的引用,因此属于 readonly 引用类型的字段必须始终引用同一

weixin_43945471的博客 1万+

机械臂 关节电机选型计算

电机 机械臂

hisen92的专栏 8983

C#中的readonly

const 定义的是静态常在对象初始化的时候赋值.以后不能改变它的值.属于编译时常量。不能用new初始化。 Readonly 是只读变量.属于运行时变量.可以在类constructor里改变它的值.不能作用于局部变量。 const 和 static 不能在一起用,它已经是静态的了。 我们都知道,const和static readonly的确非常像:通过类名而不是对象名进行访问,在

SAYA_的博客 5258

【实战指南】从零构建UNet多分类分割数据集:标注、转换与训练全流程

本文提供了一份从零构建UNet多分类分割数据集的完整实战指南。详细介绍了使用Labelme进行图像标注的核心技巧与规范,并通过Python脚本将标注结果转换为模型可用的VOC格式。最后,指导如何修改经典的PyTorch版UNet代码,以适配自定义数据集并进行训练与测试,帮助读者完成从数据准备到模型训练的全流程。

arduino9maker的博客 288

SDR实战(四)-AD9361使用手册(三)

本节定义了并行数据端口和串行外设接口(SPI),它们使得AD9361与基带处理器(BBP)之间能够传输数据和控制/状态信息。图63展示了这些接口,并提供了AD9361和BBP在宽带无线系统中使用方式的高级概述。数据接口以两种模式之一运行:兼容标准CMOS模式或兼容低压差分信号(LVDS)模式。每个接口都具有以下部分描述的独特特性。使用CMOS模式时:保持了单端-CMOS逻辑兼容性。可以使用一个或两个数据端口。使用两个端口可以提高数据吞吐量。

hutx0924的博客 6246

如何解决idea文件被锁Make File Read-Only?

直接修改文件-选择ok打开被锁的页面-右下角点击小锁 文件上面鼠标右键单击-选择

weixin_42220130的博客 9660

小红书x-mini签名逆向实战:Frida动态Hook与算法还原

在移动App协议分析中,请求签名机制是保障接口安全的核心技术,其本质是客户端对请求参数、时间戳、设备指纹等要素进行加密认证的过程。理解签名原理需掌握Native层加密流程、JNI调用机制及密钥动态派生逻辑。Frida作为主流动态插桩工具,能绕过符号剥离、字符串加密和控制流混淆等反分析手段,在函数执行瞬间捕获寄存器状态、内存数据与调用上下文,实现签名算法的完整还原。该技术广泛应用于合规内容监测、API自动化调用与竞品协议研究等工程场景。本文聚焦小红书x-mini签名这一典型样本,详解从JNI_OnLoad定位

weixin_31264565的博客 461

readonly(C# 参考)readonly (C# Reference)

本文内容 readonly 关键字是一个可在字段上使用的修饰符。The readonly keyword is a modifier that you can use on fields. 当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。When a field declaration includes a readonly...

457

uniapp [全端兼容] - 实现接入使用天地图及卫星视图切换功能,在国家天地图上自由切换地图显示类型(卫星视图/地形视图/卫星混合/地形混合/普通视图)天地图切换视图显示改成卫星风格,切换地图图层

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,天地图,视图,卫星,地图类型切换,uniAPP天地图,改成卫星视角,在线地图切换,来回切换卫星图,天地图如何实现来回切换卫星图,地形图,卫星视图,VUE3引入天地图卫星版,详细教程示例源码代码,天地图切换卫星用什么api,卫星视角API方法,vue3卫星天地图,能改地图的显示方式,vue3中使用天地图自定义样式切换地图图层,切换报错,加载出错,卫星图太卡,地图图层更换,vue3安装集成天地图详细示例源

🏆 前端领域优质创作者 1万+

如何在 Linux 上安装 RTX 5090 / 5080 /5070 Ti / 5070 驱动程序 — 详细指南

Linux 上的 NVIDIA 5090 是 AI、游戏和渲染的强大引擎,但需要耐心。如果稳定性是首要考虑因素,请坚持使用开源驱动程序,并关注 NVIDIA 论坛以获取未来更新。

iCloudEnd的博客 6914

一看就懂——C#中readonly关键字

1.定义 通常是用在类的属性上 使用了readonly的属性,只能在定义时或类的构造函数中初始化,除此之外不可以再修改它的值 2.作用 如果你希望一个数据成员在初始化后不能被改变,可以使用【readonly】关键字。 注意:这个【readonly】关键字的作用和其字面意思“只读”没有多少关系,所以尽管忽略其字面意思 代码 创建一个控制台项目,包含3个文件Program.cs、ReadOnlyDemo.cs、ReadOnlyDemo2.cs Program.cs的代码: namespace Fea

码途茶馆 3729

基于STM32XX的LCD液晶显示屏(HS19264G06A、驱动芯片:ST7525)驱动C程序设计

define USE_HW_SPI 1 // 1:使用硬件SPI, 0:使用软件模拟SPI。

myron6688的博客 236

C# const与readonly关键字的区别

关键字在C#中提供了一种简单而有效的方式来确保字段在初始化后保持不变,来维护数据完整性。关键字用于定义在对象创建后不能更改的字段。)有些相似,但也有显著不同。

sindyra的博客 527

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C#关键字 const与readonly

====const==== const关键字来声明某个常量字段或常量局部变量。常量字段和常量局部变量不是变量而且不能修改。常量可以为数字、布尔值、字符串或null引用。 常数声明的类型指定声明引入的成员类型。常量局部变量或常量字段的初始值设定项必须是一个可以隐式转换为目标类型的常量表达式。 常数表达式是编译时可被完全计算的表达式。因此,对于引用类型的常数,可能的值只能是string和null...

weixin_33742618的博客 217

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

c# readonly 关键字

readonly 关键字介绍

2301_78527293的博客 1868

C# 中 const 和 readonly 关键字的区别和用法

今天我们一起来讲讲 C# 中 const 和 readonly 关键字的区别和用法。在C#中用于声明编译时常量,其值在编译时就必须确定,并且在程序生命周期内不可更改。在C#中用于声明运行时常量,其值可以在声明时或构造函数中初始化,之后不可更改(可通过反射强制修改)。

专注于C#/.NET/.NET Core学习、工作、面试干货和实战教程分享。这里聚焦了大量的C#/.NET/.NET Core优质文章、开源项目、实用工具和学习、工作、面试心得。 922

C#中const和readonly关键字

C#中const和readonly关键字介绍(来自MSDN): 使用 const 关键字来声明某个常量字段或常量局部变量。 常量字段和常量局部变量不是变量并且不能修改。 常量可以为数字、布尔值、字符串或 null 引用。 不要创建常量来表示你需要随时更改的信息。 例如,不要使用常量字段来存储服务的价格、产品版本号或公司的品牌名称。 这些值会随着时间发生变化;因为编译器会传播常量,所以必须重新编译

江浙沪柯蓝 1032

C#中的readonly关键字

与Const关键字不同的是,readonly字段的值可以在运行时通过构造函数进行初始化,并且每个实例可以具有不同的值,而const字段的值在编译时就被确定,并且在所有实例中都是相同的。1、修饰字段:当将readonly关键字用于字段时,表示该字段只能在声明时或构造函数中进行赋值,并且不能再修改。也就是说,只能对readonly字段进行初始化,之后不能改变它的值。2、修饰局部变量:将readonly关键字用于局部变量时,表示该变量只能在声明时进行初始化,并且不能再修改。

m0_59115955的博客 892

C# - readonly 和 const 关键字

程序设计过程中经常会用到常量,C# 语言中有 `readonly`, `const` 定义常量,如何准确的定义常量,它们的区别又是什么?

wumingxiaoyao的博客 804

C# const和readonly关键字

1.const和readonly是什么? 定义常量的两个关键字 2.const和readonly的作用是什么? const: const关键字限定一个变量不允许被改变 const在一定程度上可以提高程序的安全性和可靠性 readonly: const关键字限定一个变量不允许被改变 3.const和readonly的区别是什么? const只能定义静态常量,因为它默认是静态的;read...

贵有恒,何必三更眠五更起;最无益,莫过一日曝十日寒 596

【C#】readonly关键字

【正文目录】 1. 核心内容 2. 注意点 3. readonly与const 【正文内容】 1. 核心内容 readonly关键字修饰的字段只能作为声明的一部分,或者出现在同一类的构造函数中。 以官方例子而言,字段year的只无法再ChangeYear方法中更改,即便已经在该类的构造函数中为它赋过值: class Age { ...

weixin_30379973的博客 187

C#中的const和readonly 关键字

前言 不知道大家对C#中的const和reaonly这两个关键字的区别有什么了解,在了解这连个关键字之前先熟悉一下什么是静态常量和动态常量; **静态常量:**是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值。 **动态常量:**而动态常量的值则是在运行的那一刻才获得的,编译器编译期间将其标示为只读常量,而不用常量的值代替,这样动态常量不必在声明的时候就初始化,而可以延迟到构...

weixin_37603532的博客 283

C#中readonly关键字与const关键字的区别

const 的概念就是一个包含不能修改的值的变量。常数表达式是在编译时可被完全计算的表达式。因此不能从一个变量中提取的值来初始化常量。如果 const int a = b+1;b是一个变量,显然不能在编译时就计算出结果,所以常量是不可以用变量来初始化的。readonly 允许把一个字段设置成常量,但可以执行一些运算,可以确定它的初始值。因为 readonly 是在计算时执行的,当然它可以用某些变量

wanglee的专栏 4392

C#核心概念解析:析构函数、readonly与this关键字

析构函数:非托管资源的“保底”清理,优先用IDisposable。readonly:保护字段不被篡改,灵活应对运行时初始化需求。this关键字:增强代码可读性,避免歧义(但避免过度使用)。

钢铁男儿 640

C# 关键字const和readonly对比

C# 关键字const和readonly对比二者区别 const关键字修饰的字段只能在声明的时候初始。readonly关键字修饰的字段可以在声明的时候初始化,也可以在构造器中初始化。 const修饰的字段值在编译时确定,readonly修饰的字段值在运行时确定。 public static readonly uint timeStamp = (uint)DateTime.Now.Ticks; rea

Jacob Ni 296

c#中的readonly和const关键字的认识

MSDN上是这样说的:readonly 关键字与 const 关键字不同。const 字段只能在该字段的声明中初始化。readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。另外,const 字段为编译时常数,而 readonly 字段可用于运行时常数。下面用一个简单地例子来验证readonly和const关键字的用法。 using System; using System.Collections.Generic; using System

WYhack的专栏 1446
上一篇: c#关键字const
下一篇: c#关键字static
a_codecat
博客等级 码龄4年 8粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值