C# 中的数字分隔符 _
Posted 精致码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 中的数字分隔符 _相关的知识,希望对你有一定的参考价值。
const long loops = 50000000000;
50,000,000,000
,这样子是不是可读性就强多了?不过这是西方人的写法。
如果按照我们中国人的习惯,可以写成
500,0000,0000
,是不是一眼就可以读出来是
五百亿了?
答案是肯定的,不过要稍作改变 —— 把逗号换成下划线
_
:
const long loops = 500_0000_0000;
// 或者
const long loops = 50_000_000_000;
_
作为数字分隔符时,可以把它添加在数字文本中
除了第一个字符和最后一个字符之外的任何位置。将下划线添加到长数字的不同的位置,就形成了不同的分组,不同的分组在不同的情景中可能会有不同的意义。比如我们在使用十进制、十六进制或二进制记数法声明数字时,可以加上下划线
_
字符,使数字更易读懂。
int bin = 0b1001_1010_0001_0100; // 二进制表示
int hex1 = 0x64_95_ED; // 十六进制表示
int hex2 = 0x_64_95_ED; // 十六进制表示
int dec1 = 1_000_000; // 十进制
int dec2 = 100_0000; // 十进制
int weird = 1_2__3___4____5_____6______7_______8________9;
double real = 1_000.111_1e-5;
decimal d = 1_222_345;
int bin = 39444;
int hex1 = 6591981;
int hex2 = 6591981;
int dec1 = 1000000;
int dec2 = 1000000;
int weird = 123456789;
double real = 0.010001111;
decimal d = 1222345m;
double d1 = 1.1_e1; //不能出现在指数字符前后
float f1 = 10_f; //不能出现在类型说明符前面
double d2 = 10_.0; //不能出现在小数点前后
float pi1 = 3_.1415F; //不能出现在小数点前后
float pi2 = 3._1415F; //不能出现在小数点前后
int x1 = 52_; //不能出现在第一个字符和最后一个字符
int x2 = 0x52_; //不能出现在第一个字符和最后一个字符
int x3 = 0_x52; //不能出现在 0x 之间
总结
_
作为分隔符,可以让较长的数字更具可读性。这个功能虽然很微不足道,但当你用到它的时候,易读性会让你的心情愉快很多,不是吗?
_
在语义上对运行没有任何影响,因为它在编译的时候就被编译器忽略了。
作者 :技术译民
出品 :技术译站( https://ITTranslator.cn/)
END
以上是关于C# 中的数字分隔符 _的主要内容,如果未能解决你的问题,请参考以下文章
编写一个程序, 将 a.txt 文件中的单词与 b.txt 文件中的 单词交替合并到 c.txt 文件中, a.txt 文件中的单词用回车符 分隔, b.txt 文件中用回车或空格进行分隔。(代码片段