C#学习笔记02之变量、常量与常用内置类型

变量

变量是存储内容的别名,表示存储位置。变量可以映射计算机内存地址,通过变量可以获取解析相应的内存块,最后返回要访问的数据。

每个变量都具有一种类型,用于确定可存储范围、所占内存大小和布局。在获取变量的值之前,必须明确赋值

变量声明包含访问修饰符、变量类型、变量名。变量可在声明时赋值。当在程序中声明变量时,必须指定其类型或使用var关键字让编译器推断类型。 在同一代码块内,声明变量后,不能使用新类型重新声明同名变量,并且不能分配与其声明类型不兼容的值,但可以转换成其他类型。变量可被多次赋值,但其值为最近一次的赋值。

// 声明
float temperature;
// 赋值:第一次赋值称初始化
temperature = 37.6f;
// 声明并初始化
int[] source = { 0, 1, 2 };
// 单行声明、赋值多个同类型变量
int age = 18, money = 0;
// 推断类型
var sourceItem = sourece[0];

变量是lvalue的,可以在表达式中作为左值。数值是rvalue的,不能被赋值,不能在表达式中作为左值。

常量

常量是不可变的值,在编译时是已知的,于程序生命周期内不会改变。 常量可以被当作常规的变量,只是其值在定义后不能被修改。常量只能是基本数据类型,比如整数、浮点、布尔、字符、字符串或枚举常量。

使用const关键字定义常量,在声明时必须初始化。常量默认是staticreadonly的,只有⼀个副本。定义一个常量的语法如下:

public const int months = 12;

常量标识符类似占位符。在编译过程中,编译器会将常量的文本值直接替换到它生成的IL代码中,运行时没有与常量相关联的变量地址,所以此后便与该常量无关了,因此常量不能通过引用传递,且不能在表达式中显示为左值。

引用其他程序集中定义的常量需要注意,如果该程序集定义了新的常量值,则程序仍将保留旧的文本值,即常量不支持跨程序集版本更新,所以:

  • 不随意使用常量,尤其是可能变化的数据。
  • 不随意更改已定义好的常量值。
  • 使用常量的代码必须重新编译。

常用内置类型

整型:

C#关键字范围内存占用.NET类型
sbyte-27~27-1带符号8位整数System.SByte
byte0~28-1无符号8位整数System.Byte
short-215~215-1带符号16位整数System.Int16
ushort0~216-1无符号16位整数System.UInt16
int-231~231-1带符号32位整数System.Int32
uint0~232-1无符号32位整数System.UInt32
long-263~263-1带符号64位整数System.Int64
ulong0~264-1无符号64位整数System.UInt64
nint取决于运行平台带符号32/64位整数System.IntPtr
nuint取决于运行平台无符号32/64位整数System.UIntPtr

浮点类型:

C#关键字范围精度内存占用.NET类型
float±1.5x10−45~±3.4x1038约6~9位精度4字节System.Single
double±5.0x10−324~±1.7x10308约15~17位精度8字节System.Double
decimal±1.0x10−28~±7.9228x1028约28~29位精度16字节System.Decimal

布尔型bool(System.Boolean)表示真假,其值只能为truefalse,占1字节。

字符型char(System.Char)用于表示单个Unicode UTF-16字符,用'包裹,占2字节,范围是U+0000~U+FFFF,默认值为\0,即U+0000。

字符串类型string(System.String)用于表示多个字符,用"包裹。

转义字符

转义字符是字符串的一部分,用于表示特殊含义的字符,如单引号、双引号。通常使用反斜杠\来表示。

常用转义字符有:

  • \\\字符。
  • \''字符。
  • \""字符。
  • \??字符。
  • \a:警报音。
  • \b:退格键(Backspace)。
  • \f:换页符(Form feed)。
  • \n:换行符(Newline)。
  • \r:回车。
  • \t:水平制表符tab。
  • \v:垂直制表符tab。
  • \ooo:一到三位的八进制数。
  • \xhh:一个或多个数字的十六进制数。

字符串前使用@修饰,为逐字字符串,会取消转义字符。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值