Csharp 中的文字、Unicode 和下划线
介绍
本指南将向您介绍文字的语法,帮助您熟悉unicode转义序列并使用下划线字符。
文字只不过是一个变量,它被其他变量(通常称为常量)使用。转义序列是一种特殊的字符组合,这些字符不可打印,但允许用户与控制台或打印机通信以提供不同的输出。在这种情况下,编码是 unicode,一种标准编码形式。最后,我们将学习下划线字符,这是一个代码宗教主题:没有一成不变的规则,但开发人员被信任遵循特定的指导方针。
文字
C# 中的文字只不过是固定值。这些值由变量或常量使用。
文字有很多种类型:
- 整数
- 浮点
- 特点
- 细绳
- 无效的
- 布尔值
整数文字
这是一种与整数有关的文字类型。它有三种子类型:一种是十进制数,一种是八进制数,一种是十六进制数。
十进制数没有前缀。
int myDecimal = 28;
八进制数应始终以0前缀开头。
int myOctal = 034;
十六进制数应以0X或0x前缀开头:
int myHex = 0X1C
这个小应用程序演示了如何打印它们的值。
using System;
namespace litrals
{
class Literally
{
static void Main(string[] args)
{
int myDecimal = 28;
int myOctal = 034;
int myHex = 0X1C;
Console.WriteLine($"The variable {nameof(myDecimal)} has value: {myDecimal}");
Console.WriteLine($"The variable {nameof(myOctal)} has value: {myOctal}");
Console.WriteLine($"The variable {nameof(myHex)} has value: {myHex}");
Console.ReadKey(); ;
}
}
}
执行后我们得到以下输出。
The variable myDecimal has value: 28
The variable myOctal has value: 34
The variable myHex has value: 28
请注意nameof函数如何允许我们在字符串插值中引用变量的名称。您可能会注意到,十六进制和八进制数字显示的值缺少前缀。前缀告诉编译器允许对这些类型的整数进行哪种类型的操作。
浮点文字
具有整数部分、小数点和小数部分或指数部分的文字称为浮点文字。
有效符号:
double myFloat = 28.3848;
double myFloat = 28E-5;
double myFloat = 28f;
无效符号:
double myFloat = 28E;
double myFloat = .e28;
默认情况下,每个浮点文字都是双精度类型,我们不允许将其分配给浮点型。
以下表达式...
float myFloat = 28.28;
...给了我们一个非常健谈的例外。
Literal of type double cannot be implicitly converted to type 'float';
use an 'F' suffix to create a literal of this type
因此基本上,如果我们想让上述内容发挥作用,我们需要在其后面加上f。
float myFloat = 28.28f;
字符文字
对于字符数据类型,我们有三个选项来指定文字。
- 单引号符号。
char c = 'a';
- Unicode 符号。使用这种类型需要在代码前加上\u前缀。这是一个关于Unicode字符的好网站。
char c = '\u0306';
- 转义序列。这些通常以\为前缀。
char c = '\n';
本指南后面将更详细地介绍该主题。
字符串文字
这些类型的文字通常用双引号括起来:""或@""。
string myString = "Welcome to Pluralsight!";
string myOtherString = @"Welcome to the written quides!";
空文字
空字面量就是null关键字,即对空值的引用。根据应用程序的逻辑或上下文,它表示什么都没有,或者为空。
例如,我们可以用这个空值初始化一个字符串,如下所示:
string s = null;
在此上下文中,这是一个空字符串。
布尔文字
这些是最简单的文字。它们只能有真值。一个 ONE WHAT? 为真或假,另一个为0或1。上下文决定了如何评估它们。
bool myTrue = true;
bool myFalse = false;
数值语法改进
C# 7.0 版本增加了数字文字的灵活性,提高了源代码的可读性和可维护性。
在 C# 7.0 版本之前,长数字如下所示:
int myLongNumber = 10000000;
乍一看很难识别这个数字。但现在有分隔符:
int myLongNumber = 10_000_000;
这不会影响内部工作。它只是一种语法糖,用于提高二进制文字和数字分隔符的可读性。
Unicode 和转义序列
关于字符文字已经提到过这一点,但是现在我们将扩展这个想法并展示内部工作原理。
我们通常将由反斜杠和一个字符组成的字符组合称为转义序列。这在编程语言中相当常见。在 C# 中,我们将这些字符放在单引号中。
例如,换行符如下所示:
char newLine = '\n';
这是转义序列的列表。
- 铃声 -> '\a'
- 退格键 -> '\b'
- 换页符 -> '\f'
- 回车 -> '\r'
- 新行 -> '\n'
- 水平制表符 -> '\t'
- 垂直制表符 -> '\v'
- 单引号 -> '''
- 双引号 -> '"'
- 反斜杠 -> '\'
Unicode 转义序列以\u</f
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~