Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:整型数值类型

ylbtech-Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:整型数值类型
1.返回顶部
1、

整型数值类型(C# 参考)

“整型数值类型”是“简单类型”的子集,可以使用文本进行初始化 。 所有整型类型同时也是值类型。 所有整型数值类型都支持算术位逻辑比较相等运算符。

整型类型的特征

C# 支持以下预定义整型类型:

C# 类型/关键字范围大小.NET 类型
sbyte -128 到 127 8 位带符号整数 System.SByte
byte 0 到 255 无符号的 8 位整数 System.Byte
short -32,768 到 32,767 有符号 16 位整数 System.Int16
ushort 0 到 65,535 无符号 16 位整数 System.UInt16
int -2,147,483,648 到 2,147,483,647 带符号的 32 位整数 System.Int32
uint 0 到 4,294,967,295 无符号的 32 位整数 System.UInt32
long -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 64 位带符号整数 System.Int64
ulong 0 到 18,446,744,073,709,551,615 无符号 64 位整数 System.UInt64

在上表中,最左侧列中的每个 C# 类型关键字都是相应 .NET 类型的别名。 它们是可互换的。 例如,以下声明声明了相同类型的变量:

C#
int a = 123;
System.Int32 b = 123;

每个整型类型的默认值都为零 0。 每个整型类型都有 MinValue 和 MaxValue 常量,提供该类型的最小值和最大值。

System.Numerics.BigInteger 结构用于表示没有上限或下限的带符号整数

整数文本

整数文本可以是

  • 十进制:不使用任何前缀
  • 十六进制:使用 0x 或 0X 前缀
  • 二进制:使用 0b 或 0B 前缀(在 C# 7.0 和更高版本中可用)

下面的代码演示每种类型的示例:

C#
var decimalLiteral = 42;
var hexLiteral = 0x2A;
var binaryLiteral = 0b_0010_1010;

前面的示例还演示了如何将 _ 用作数字分隔符 (从 C# 7.0 开始提供支持)。 可以将数字分隔符用于所有类型的数字文本。

整数文本的类型由其后缀确定,如下所示:

  • 如果文本没有后缀,则其类型为以下类型中可表示其值的第一个类型:intuintlongulong

  • 如果文本以 U 或 u 为后缀,则其类型为以下类型中可表示其值的第一个类型:uintulong

  • 如果文本以 L 或 l 为后缀,则其类型为以下类型中可表示其值的第一个类型:longulong

     备注

    可以使用小写字母 l 作为后缀。 但是,这会生成一个编译器警告,因为字母 l 可能与数字 1 混淆。 为清楚起见,请使用 L

  • 如果文本的后缀为 ULUluLulLULulU 或 lu,则其类型为 ulong

如果由整数字面量所表示的值超出了 UInt64.MaxValue,则将出现编译器错误 CS1021

如果确定的整数文本的类型为 int 且值位于目标类型的范围内,则文本所表示的值可以隐式转换为 sbytebyteshortushortuint 或 ulong

C#
byte a = 17;
byte b = 300;   // CS0031: Constant value '300' cannot be converted to a 'byte'

如前面的示例所示,如果文本的值不在目标类型的范围内,则发生编译器错误 CS0031

还可以使用强制转换将整数文本所表示的值转换为除确定的文本类型之外的类型:

C#
var signedByte = (sbyte)42;
var longVariable = (long)42;

转换

可以将任何整型数值类型转换为其他整数数值类型。 如果目标类型可以存储源类型的所有值,则转换是隐式的。 否则,必须使用强制转换运算符 () 来调用显式转换。 有关详细信息,请参阅内置数值转换

C# 语言规范

有关更多信息,请参阅 C# 语言规范的以下部分:

请参阅

2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
1、
2、
 
6.返回顶部
 
warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/storebook/p/11842340.html