C#将一个基元类型变量通过类型强转的方式转为另一个基元类型时:
- 如果源类型位数大于目标类型,则通过放弃其“额外”最高 有效位来截断源值,即保留低位。
这里的低位是逻辑上的低位,和字节序无关
- 如果源类型小于目标类型,则源值是符号扩展或零扩展,以使其与目标类型的大小相同。 如果源类型带符号,则是符号扩展;如果源类型是无符号的,则是零扩展
参考链接:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/builtin-types/numeric-conversions