c# - 我可以将 long 转换为 int 吗?

标签 c# types int type-conversion long-integer

我想将long 转换为int

如果long的值> int.MaxValue,我很乐意让它回绕。

什么是最好的方法?

最佳答案

只需执行(int)myLongValue。它会在 unchecked 上下文(这是编译器默认设置)中完全按照您的要求执行(丢弃 MSB 并采用 LSB)。如果值不适合 int,它将在 checked 上下文中抛出 OverflowException:

int myIntValue = unchecked((int)myLongValue);

关于c# - 我可以将 long 转换为 int 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/858904/

相关文章:

c# - 将模板应用于 wpf 窗口时出现神秘的运行时错误

c++ - 如何在 C++ 容器中存储不同类型的对象?

c - 判断一个数是否是整数?

c# - 为什么 Array.Length 是一个 int,而不是一个 uint

c# - 正则表达式以匹配多个字符串并向后看

c# - 是否有更简洁的方法将属性绑定(bind)到所有者的 DataContext?

typescript - 如何从 Typescript 中固定对象的键创建映射类型

java - 如何在类定义中的泛型类型中捕获子类型?

php - Mysql select order by 就像一个字符串,而不是一个数字

c# - 方法链接等效?