C# 类型、存储和变量(变量)

本章内容

C#程序是一组类型声明

类型是一种模板

实例化类型

数据成员和函数成员

预定义类型

用户定义类型

栈和堆

值类型和引用类型

变量

静态类型和dynamic关键字

可空类型

变量

一种多用途的编程语言必须允许程序存取数据,而这正是通过变量实现的。

变量是一个名称,表示程序执行时存储在内存中的数据。

C#提供了4种变量,每一种都将详细讨论。表4-4列出了变量的种类。

变量声明

变量在使用之前必须声明。变量声明定义了变量,并完成两件事:

给变量命名,并为它关联一种类型;

让编译器为它分配一块内存。

一个简单的变量声明至少需要一个类型和一个名称。下面的声明定义了一个名为var2的int

类型的变量:

例如,图4-11展现了4个变量的声明以及它们在栈中的位置。

变量初始化语句

除声明变量的名称和类型以外,声明还能把它的内存初始化为一个明确的值。

变量初始化语句(vanableinitializer)由一个等号后面跟一个初始值组成,如:

无初始化语句的局部变量有一个未定义的值,在赋值之前不能使用。试图使用未定义的局部

变量会导致编译器产生一条错误消息。

图4-12在左边展示了许多局部变量声明,在右边展示了栈的构造结果。一些变量有初始化

语句,其他的变量没有。由于自动初始化,图4一12中的变量dealer1的值为null,变量var1的

值为0,前提是这两个变量不是在方法内声明的。

自动初始化

一些类型的变量如果在声明时没有初始化语句,那么会被自动设为默认值,而另一些则不能。

没有自动初始化为默认值的变量在程序为它赋值之前包含未定义值。表4-5展示了哪种类型的变量

会被自动初始化以及哪种类型的变量不会被初始化。本书后面会对5种变量类型进行详细阐述。

多变量声明

可以在单个声明语句中声明多个变量。

多变量声明中的变量必须类型相同。

变量名必须用逗号分隔,可以在变量名后包含初始化语句。

例如,下面的代码展示了两条有效的多变量声明语句。注意,只要使用逗号分开,初始化的

变量就可以和未初始化的变量混在一起。最后一条声明语句是有问题的,因为它企图在一条语句

中声明两个不同类型的变量。

使用变量的值

变量名代表该变量保存的值,可以通过使用变量名来使用值。

例如,在下面的语句中,变量名var2表示变量所存储的值。当语句执行的时候,会从内存

中获取该值。

复制代码
Console.WriteLine("{0}",var2)
相关推荐
wjs20242 小时前
状态模式(State Pattern)
开发语言
我命由我123452 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle2 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜3 小时前
ART配对软件使用
开发语言·c++·qt·算法
武子康4 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
唐青枫5 小时前
C#.NET dapper 详解
c#·.net
爱装代码的小瓶子6 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
YuTaoShao7 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
死也不注释7 小时前
【鸡零狗碎记录】
unity·c#
源码_V_saaskw7 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友