C#中const关键字浅见
本篇文章主要介绍c#中const关键字的用法和特点,希望对各位朋友有所帮助,那我们就开始吧!
一、const关键字
1、先了解它是什么意思
从上图可以看出const翻译后译为:常量;常数
在c#中const关键字只能声明某个字段或者变量,被修饰后的字段和变量我们通常称为不变常量
2、特点
**(1)**const是不变常量,在编译的时候就需要有确定的值,也就是说用const修饰后的字段或者变量就必须初始化或者说赋值,赋值以后就是不变常量,也就是说被const修饰的字段初始化以后,它的值是不允许再改变的
class Program
{
public const string x = "哈哈";//正确,const可以修饰字符串
static void Main(string[] args)
{
const double x;//错误,被const修饰的变量必须赋值
const int i=0;//正确,此时i就是不变常量
i = 3;//错误,赋值后的i是不允许再次修改的
}
}
**(2)**const关键字只能修饰基元类型、枚举类型、或者字符串类型。结构、类、数组都不能用const声明,const可以修饰class中的字段或者局部变量,不能修饰属性和方法
什么是基元类型?
.NET 中,编译器直接支持的数据类型称为基元类型
编译器直接支持的数据类型有:
sbyte / byte / short / ushort /int / uint / long / ulong/char / float / double / bool /decimal /object / string
public enum Week//错误,const不允许修饰枚举
{
星期一,
}
const struct Student//错误,const不允许修饰结构
{
}
const class Animal//错误,const不允许修饰类
{
const Week week = Week.星期一;//正确,const可以修饰枚举类型
const int[] a = { 1, 2, 3 };//错误,const不允许修饰数组
const public void Ha() //错误,const不允许修饰方法
{
}
}
(3)const不能和static一起声明常量
const static int i = 0;//这样声明是错误的
以上是本人对于C#中const关键字小小的总结,如有不对的地方,或者有不完善的地方,还请各位朋友能够指出,欢迎大家能够指出错误,同时也感谢大家能够光顾的博文,谢谢!