C#中的数据类型是什么?
Which data type it is in C#?
最近我遇到了一个代码库,发现了一些如下代码
var a = 1_23_456;
Console.WriteLine(a);
我曾尝试在 visual studio 2015/.net fiddle 中 运行 它,但出现编译错误。但是当我使用 Roslyn 2.0 编译器重试它时,它被编译并给我输出 123456.
这是怎么回事?为什么将数据显示为整数?
下划线是数字分隔符。它们用于使读取大数字(尤其是二进制数字)变得更容易。你可以 read about them on MSDN.
下划线不改变数据类型。以下所有语句产生相同的数据类型(int 或 System.Int32)和值:
var a = 123456;
int b = 123456;
System.Int32 c = 123456;
var d = 1_23_456;
int e = 1_23_456;
System.Int32 f = 1_23_456;
您将需要 Visual Studio 2017 年的新编译器来编译它,尽管您可以使用 。
最近我遇到了一个代码库,发现了一些如下代码
var a = 1_23_456;
Console.WriteLine(a);
我曾尝试在 visual studio 2015/.net fiddle 中 运行 它,但出现编译错误。但是当我使用 Roslyn 2.0 编译器重试它时,它被编译并给我输出 123456.
这是怎么回事?为什么将数据显示为整数?
下划线是数字分隔符。它们用于使读取大数字(尤其是二进制数字)变得更容易。你可以 read about them on MSDN.
下划线不改变数据类型。以下所有语句产生相同的数据类型(int 或 System.Int32)和值:
var a = 123456;
int b = 123456;
System.Int32 c = 123456;
var d = 1_23_456;
int e = 1_23_456;
System.Int32 f = 1_23_456;
您将需要 Visual Studio 2017 年的新编译器来编译它,尽管您可以使用