网站首页 > 技术文章 正文
什么是字面量
字面量(Literal)是代码中直接写出来的固定值。简单来说,就是你在代码里写的实际数据,比如数字、字符、字符串等。C# 中常见的字面量有整数、浮点数、字符、字符串和布尔值。
字面量和数据类型的关系
字面量就像是你放在容器里的具体物品。例如:一个苹果、一瓶水、一本书。在代码中,这些物品就是具体的值:`42` 是一个具体的数字,`"Hello"` 是一个具体的字符串,`'A'` 是一个具体的字符。
数据类型就像是描述这些容器的标签,它们告诉我们这些容器里应该放什么样的物品。例如:一个装水果的篮子、一个装液体的瓶子、一个装书的盒子。在代码中,数据类型描述了变量或常量可以保存什么样的数据:`int` 表示一个整数类型,可以存放像 `42` 这样的数字,`string` 表示一个字符串类型,可以存放像 `"Hello"` 这样的文本,`char` 表示一个字符类型,可以存放像 `'A'` 这样的单个字符。
整数字面量
整数字面量用于表示整数值。它可以是十进制、十六进制或二进制格式。
十进制字面量:不带前缀的数字,例如 42、0、-7。
十六进制字面量:以 0x 或 0X 开头的数字,例如 0x2A(等于十进制的 42)。
二进制字面量:以 0b 或 0B 开头的数字,例如 0b101010(也等于十进制的 42)。
int decimalLiteral = 42;
int hexLiteral = 0x2A;
int binaryLiteral = 0b101010;
浮点数字面量
浮点数字面量用于表示具有小数部分的数值。可以使用 f 或 F 表示单精度(float),使用 d 或 D 表示双精度(double),默认情况下,浮点数字面量被认为是 double 类型。还可以使用 m 或 M 表示十进制类型(decimal)。
double doubleLiteral = 3.14;
float floatLiteral = 3.14f;
decimal decimalLiteral = 3.14m;
字符字面量
字符字面量用于表示单个字符,用单引号 ' 括起来。例如:
char charLiteral = 'A';
char escapeLiteral = '\n'; // 换行符
常见的转义字符包括:
\':单引号
\":双引号
\\:反斜杠
\n:换行
\t:制表符
字符串字面量
字符串字面量用于表示一串字符,用双引号 " 括起来。可以使用转义字符或逐字字符串(以 @ 开头)表示特殊字符。
string stringLiteral = "Hello, World!";
string escapedString = "He said, \"Hello, World!\"";
string verbatimString = @"C:\Users\Name\Documents\File.txt";
布尔字面量
布尔字面量用于表示 true 或 false 值。
bool trueLiteral = true;
bool falseLiteral = false;
空字面量
空字面量用于表示空值,特别是在引用类型中,使用关键字 null。
string nullLiteral = null;
字面量类型的综合案例
以下是一个综合示例,展示了如何在实际代码中使用各种类型的字面量:
int decimalNumber = 123;
int hexNumber = 0x7B;
float pi = 3.14f;
char letter = 'A';
string message = "Hello, World!";
bool isTrue = true;
string path = @"C:\Program Files\MyApp";
Console.WriteLine(#34;Decimal: {decimalNumber}");
Console.WriteLine(#34;Hex: {hexNumber}");
Console.WriteLine(#34;Float: {pi}");
Console.WriteLine(#34;Char: {letter}");
Console.WriteLine(#34;String: {message}");
Console.WriteLine(#34;Boolean: {isTrue}");
Console.WriteLine(#34;Path: {path}");
运行上述代码将输出:
Decimal: 123
Hex: 123
Float: 3.14
Char: A
String: Hello, World!
Boolean: True
Path: C:\Program Files\MyApp
猜你喜欢
- 2024-11-12 C#-练习题 014(c#程序题及答案)
- 2024-11-12 C# 类型转换(c类型转换有哪三种形式)
- 2024-11-12 C#-无参数有返回值的方法 060(有参无返回值 c语言)
- 2024-11-12 C#中的值类型和引用类型(c# 引用类型)
- 2024-11-12 abelkhan中的rpc框架(rpc框架应用场景)
- 2024-11-12 C#编程零基础到入门学习-C# 值类型和引用类型(4-8)
- 2024-11-12 2.6 C#的常用关键字和预定义类型(c#预留关键字)
- 2024-11-12 C#_图片拖拽(c#窗体图片移动)
- 2024-11-12 数据类型 - C#入门教程(c#常见数据类型)
- 2024-11-12 C#中堆栈(Stack)和堆(Heap)的区别——第一部分
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)