【C#】C#:“指派给常量数组的必须是常量”

news2025/1/15 16:30:10

推荐阅读

  • CSDN主页
  • GitHub开源地址
  • Unity3D插件分享
  • 简书地址
  • 我的个人博客

大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。

一、前言

记录一个有意思的代码片段。

首先,复习一下常量。

因为此篇文章不是为了专门讲解常量的,就简单的介绍一下常量吧:

常量组成:

C#中的常量是由三部分组成的,分贝是const、数据类型、变量名。

  • 1、const:是C#中用来定义常量的关键字,不能忽略。
  • 2、数据类型:指定一种类型的数据,如整数、字符串等。
  • 3、变量名:自定义命名。

比如:

const int sum = 0;

常量是什么
常量是指在程序运行过程中,其值不会发生改变,常量与变量唯一的区别就是常量的值不可以改变,变量的值可以改变。

为什么用常量
由于常量的值在程序运行过程中是不可以改变的,所以可以用来存储一些固定的值,比如圆周率,折扣率等。

比如:

const float PI = 3.14159265358979F;

于是,博主写代码的时候想到,那能不能定义一个常量数组呢,里面存放常量呢。。。

二、正文

于是有了这段代码:

using UnityEngine;

public class Test01 : MonoBehaviour
{
    const int[] sumAry = new int[1] { 1 };

    void Start()
    {
        
    }
}

但是这么写,报错了,是很严重的无法通过编译的错误:
在这里插入图片描述
这是因为const关键字用于编译已知的值,但是数组在编译时不会初始化,因此在编译时不知道数组的值,因此这么写是无解的。

但是,可以使用readonly关键字来实现相同效果,而且还不会出现错误。

readonly关键字用于指定初始化后不能修改变量的值,下面的代码示例向我们展示了如何在C#中使用readonly关键字:

using System.Runtime.CompilerServices;
using UnityEngine;

public class Test01 : MonoBehaviour
{
    public static readonly string[] Values = { "Value1", "Value2", "Value3", "Value4" };

    void Start()
    {
        Debug.Log(Values[0]);
    }
}

三、后记

如果觉得本篇文章有用别忘了点个关注,关注不迷路,持续分享更多Unity干货文章。


你的点赞就是对博主的支持,有问题记得留言:

博主主页有联系方式。

博主还有跟多宝藏文章等待你的发掘哦:

专栏方向简介
Unity3D开发小游戏小游戏开发教程分享一些使用Unity3D引擎开发的小游戏,分享一些制作小游戏的教程。
Unity3D从入门到进阶入门从自学Unity中获取灵感,总结从零开始学习Unity的路线,有C#和Unity的知识。
Unity3D之UGUIUGUIUnity的UI系统UGUI全解析,从UGUI的基础控件开始讲起,然后将UGUI的原理,UGUI的使用全面教学。
Unity3D之读取数据文件读取使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。
Unity3D之数据集合数据集合数组集合:数组、List、字典、堆栈、链表等数据集合知识分享。
Unity3D之VR/AR(虚拟仿真)开发虚拟仿真总结博主工作常见的虚拟仿真需求进行案例讲解。
Unity3D之插件插件主要分享在Unity开发中用到的一些插件使用方法,插件介绍等
Unity3D之日常开发日常记录主要是博主日常开发中用到的,用到的方法技巧,开发思路,代码分享等
Unity3D之日常BUG日常记录记录在使用Unity3D编辑器开发项目过程中,遇到的BUG和坑,让后来人可以有些参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/944687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安防监控/磁盘阵列存储/视频汇聚平台EasyCVR调用rtsp地址返回的IP不正确是什么原因?

安防监控/云存储/磁盘阵列存储/视频汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RT…

leetcode 563.二叉树的坡度

⭐️ 题目描述 🌟 leetcode链接:https://leetcode.cn/problems/binary-tree-tilt/description/ 代码: class Solution { public:int childFind(TreeNode* root , int& sumTile) {if (root nullptr) {return 0; // 空树坡度为0}int l…

VBA技术资料MF48:VBA_在Excel中将列号与字母转换

【分享成果,随喜正能量】除非自己的认知获得了改变和刷新,否则,人们常说的“顺应自己的内心”,顺的不过是一颗旧心,一颗惯性的,充满了各种习性的套路之心。与“顺应自己的内心”恰恰相反,人要用…

2023最新独立版校园跑腿校园社区小程序系统源码 | 附教程

2023最新独立版校园跑腿校园社区小程序系统源码 | 附教程 测试环境:NginxPHP7.2MySQL5.6 多校版本,多模块,适合跑腿,外卖,表白,二手,快递等校园服务 源码下载:https://download.c…

二叉搜索树(C++)

二叉搜索树 概念二叉搜索树的应用二叉搜索树的实现K模型基本结构和函数声明接口实现①find——查找关键码②Insert——插入关键码③Erase——删除关键码(重点)时间复杂度 源码(整体)非递归递归 KV模型 在使用C语言写数据结构阶段时…

【Linux】进程通信 — 信号(下篇)

文章目录 📖 前言1. 阻塞信号1.1 信号其他相关常见概念:1.2 sigset_t:1.2 - 1 信号集操作函数 1.3 sigprocmask:1.4 sigpending: 2. 进程处理信号2.1 内核页表和用户页表:2.2 内核态和用户态:2.…

华为OD机试 - VLAN资源池 - 回溯、双指针(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路1、核心思想2、具体解题思路 五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题&…

产品帮助中心对SaaS行业的作用

帮助中心是一款SaaS产品必不可少的一部分,为了帮助用户更好的解决产品相关问题,提高新用户的使用体验,并且引导其更好地使用产品。 所以今天我们就来谈谈帮助中心对SaaS行业的作用,以及制作帮助中心的方法,每个产品帮…

基于 OV5640 的图像采集显示系统(DVP 接口时序逻辑设计)

文章目录 前言一、DVP 接口时序逻辑设计二、基本数据流接收三、像素位置输出四、舍弃前 N 张图像五、系统异常状态恢复控制六、完整代码展示七、仿真代码展示八、仿真波形展示前言 上一节,我们已经完成了 OV5640 初始化逻辑的介绍。接下来,将要开始完成 DVP 接口的时序设计。…

Maven入门教程(一):安装Maven环境

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 ​ 在项目开发中Maven可以对jar包和对工程之间的依赖关系进行管理。maven仓库中存储jar包,可以一次下载,所有项目通用。 1. 安装…

Java项目-苍穹外卖-Day07-redis缓存应用-SpringCache/购物车功能

文章目录 前言缓存菜品问题分析和实现思路缓存菜品数据清理缓存数据功能测试 SpringCache介绍入门案例 缓存套餐 前言 本章节主要是进行用户端的购物车功能开发 和redis作为mysql缓存的应用以及SpringCache的介绍 因为很多人查询数据库会导致mysql的查询效率降低,可…

解读亚马逊云科技语义搜图检索方案

图像检索(包括文搜图和图搜图)是各个行业中常见的一个应用场景。比如在电商场景中,基于以图搜图做相似商品查找;在云相册场景中,基于文搜图来找寻所需的图像素材。 传统基于标签的图像检索方式,即先使用目标…

压力传感器的性能技术指标

压力传感器采用第四代无线传输方式,加入用高性能的感压芯片,配合先进的电路处理和温度补偿技术,选用不锈钢外壳做隔离防腐,能够测量与接触部分材质相兼容的气体和液体等介质的表压和绝压。 应用场合:如供水、排水、消…

如何空手套白狼?一口气省7K再抓住一个7K起步的工作?

今日话题,教你如何省七千再得到一个七千起步的技能!现在网络行业已经是全世界重点发展的目标,开发行业更是各个企业重点培养,但是在学校教的网络知识太基础太老掉牙?报班随便就是小一万该如何是好呢?解决方…

树莓派3b无屏幕登录

如果要无屏登录,烧写时最好设置,勾选WIFI ,登录密码,和SSH 树莓派操作系统下载地址 树莓派资源下载 | 树莓派实验室 无屏幕无键盘登录:新版中可能要先SSH登录,然后才能在RASPI-CONFIG中打开串口控制台 登录…

1A快恢复整流二极管型号汇总

快恢复整流二极管是二极管中的一种,开关特性好、反向恢复时间短,在开关电源、PWM脉宽调制器、变频器等电子电路中经常能看到它的身影。快恢复整流二极管的内部结构与普通PN结二极管不同,它属于PIN结型二极管,即在P型硅材料与N型硅…

浏览器渲染机制

学习渡一课程、参考 必须明白的浏览器渲染机制 - 掘金 渲染机制的流程 HTML解析 布局 分层 绘制 分块 光栅化 画 HTML解析 - Parse HTML 解析html会生成一个 dom树和cssom树 document.styleSheets 可以看到cssom树 渲染阻塞 在渲染的过程中,遇到一个scr…

并发编程01(Lock Condition 生产者消费者)详细讲解

并发 并发编程∶并发、并行 并发(多线程操作同一个资源) CPU一核,模拟出来多条线程,天下武功,唯快不破,快速交替并行(多个人一起行走) CPU 多核,多个线程可以同时执行; public class QuickSort {public …

hive部署

下载hive安装包:https://dlcdn.apache.org/hive/hive-2.3.9/解压及环境部署 tar -zxvf apache-hive-2.3.9-bin.tar.gz mv apache-hive-2.3.9-bin hivevim /etc/profile添加至环境变量 export HIVE_HOME/usr/local/hive export PATH$PATH:$HIVE_HOME/binsource /etc…

技术分享 | RCU :内核小“马达”,让你的产品弯道超车

在上一篇文章《编程界也内卷?浅析“斜杠青年”RCU 》中,鼎道智联带着大家一起认识了并行编程,了解了什么是 RCU ,相信大家已经对 RCU 的特点和如何实现 Reader 无锁有了一定的了解。 今天就带着大家继续从 RCU 的实现入手&#xf…