C#入门系列 -- 常量和变量
【摘要】 常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。
一,常量
常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。
常量可以被当作常规的变量,只是它们的值在定义后不能被修改。
- 定义常量
常量是使用 const 关键字来定义的 。定义一个常量的语法如下:
const 类型 常量名 = 常量值;
使用
const double d=3.14;// 正确声明常量的方法
const int b; // 错误,没有初始化
修改常量值,编译时会报错:
- 动态常量:readonly
在运行时确定值,只能在声明时或构造函数中初始化,只能在类中定义。定义方法如下:
using System;
namespace VSProject
{
class Program
{
readonly int a = 1; // 声明时初始化
readonly int b;
Program() // 构造函数中初始化
{
b = 2;
}
void Add()
{
Console.WriteLine("a + b = " + (a + b));
}
}
}
使用建议:
在下面两种情况下:
- 取值永久不变(比如圆周率、一天包含的小时数、地球的半径等)。
- 对程序性能要求非常苛刻。
可以使用 const 常量,除此之外的其他情况都应该优先采用 readonly 常量。
二,变量
一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作。
C#中规定变量必须“先定义后使用”。
变量的定义语法如下所示:
变量类型 变量名;
变量类型可以是C#中支持的任何数据类型或var,变量名的命名规则遵循C#中标识符的命名规则。
- 一些有效的变量定义如下所示:
int i, j, k;
char c, ch;
float f, salary;
double d;
- 简单示例
using System;
namespace VSProject
{
class Program
{
static void Main(string[] args)
{
int a = 1;
int b = 2;
Console.WriteLine("a + b = " + (a + b));
Console.ReadKey();
}
}
}
变量值为与变量类型相同或能隐式转换为该类型的常量、已被定义并赋值的类型相同或能隐式转换为该类型的变量,或由它们作为操作数构成的表达式。
- Var关键字
C#3.0之后支持使用var关键字来定义隐式类型变量,声明隐式类型变量时必须对变量进行初始化。隐式类型变量的定义示例如下:
//声明隐式类型变量a,根据其初始化值1,确定a类型为int
var a = 1;
- 可空类型
可空类型可以表示基础类型的所有值和null,定义可空类型
变量的语法如下:
变量类型? 变量名;
变量类型可以是C#类型系统中的简单类型、枚举类型和结构类型,但不能为引用类型。
示例:
int? i;
double? d1 = 3.14;
bool? flag = null;
使用可空类型变量时,C#提供了两种方法测试变量值是否为null以避免变量的错误引用。
int? a = 1;
int b = 2;
if (a == null)
{
Console.WriteLine("a 值为空不能进计算");
}
else
{
Console.WriteLine("a + b = " + (a + b));
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)