美文网首页
C#中声明一个常量数组

C#中声明一个常量数组

作者: 岑吾 | 来源:发表于2022-01-03 16:05 被阅读0次

想在C#类中声音一个常量数组,类型为int,里面有初始化的内容且不可更改。习惯性的写上了public const int[] a = {1,2,3,4,5}这样的格式,结果编译就给我报错了。后面尝试过在类中各种const,都是会报错的。
  在C#中,只有byte、char、short、int、long、float、double、decimal、bool、string、enum等这些非引用类型可以定义为常量,其他的引用类型都是不可以的定义为常量的。但是可以用readonly来替代,如:public readonly int[] a = { 1, 2, 3, 4, 5 };,但是这样也有缺陷。不能给a重新赋值,但是可以修改数组a内的值。

public readonly int[] a = { 1, 2, 3, 4, 5 };

// 这样是会报错的,修改了a的值
a = new int[]{4,5,6}

// 但这样是可以的
a[1] = 5

用C++中的指针来解析就是,a相当于是一个指向 { 1, 2, 3, 4, 5 }数组地址的指针,readonly只是表明a指向的地址不能改变,但是原地址内的数据是可以改变的。

相关文章

  • C#中声明一个常量数组

    想在C#类中声音一个常量数组,类型为int,里面有初始化的内容且不可更改。习惯性的写上了public const ...

  • 10.31学习总结

    今天代课老师讲了c#中的数组。 一维数组:声明数组,分配空间,元素赋值,引用数组元素。 多维数组(声明多维数组时,...

  • C# 数组的五种声明方式

    c#中数组有五种声明方式: 一,声明一个未初始化的始祖,将其转换为一个实例 [csharp]view plainc...

  • Swift4.2~数组和字典(Array, Dictionary

    一, array 中括号[ ] 表示,数组值之间用逗号分隔1,如果数组声明为常量,则本身不能修改,且数组中的值也不...

  • 小记

    let 块作用域声明 const 常量声明 ...扩展符 在数组,结构中适用 es7中对象可以使用 =>箭头函数 ...

  • web前端面试点整理(二)

    const声明的空数组可以改变吗? const是针对常量的声明,常量在声明时必须赋值,并且不可再赋值(赋值:用等号...

  • 1、Swift基础部分

    常量和变量 声明常量和变量 用 let来声明常量,用 var来声明变量 可以在一行中声明多个常量或者多个变量,用逗...

  • 10月17日C#学习总结

    今天老师讲了C#的变量与常量、String类、定位、StringBuilder类。 声明变量: 变量类型 变量名;...

  • 简单掌握Swift基本数据类型

    1. Swift中定义常量和变量 1.1 声明常量和变量 1.使用关键字 let 来声明常量,常量声明之后就不能再...

  • 2.ES6 const常量

    ES6中可以使用const声明一个只读的常量。 1、一旦声明,常量的值就不能改变;2、常量声明就要定义值,否则报错...

网友评论

      本文标题:C#中声明一个常量数组

      本文链接:https://www.haomeiwen.com/subject/pqgnqrtx.html