// 将 object 类型转换为 int 类型的示例代码
object obj = 123; // 假设这是一个从其他地方获取的对象,其实际类型是 int
// 方法一:使用直接类型转换 (可能会抛出异常)
try {
int number1 = (int)obj;
Console.WriteLine("方法一结果: " + number1);
} catch (InvalidCastException ex) {
Console.WriteLine("类型转换失败: " + ex.Message);
}
// 方法二:使用 Convert.ToInt32 方法 (处理 null 和其他类型的对象更安全)
try {
int number2 = Convert.ToInt32(obj);
Console.WriteLine("方法二结果: " + number2);
} catch (FormatException ex) {
Console.WriteLine("格式错误: " + ex.Message);
} catch (OverflowException ex) {
Console.WriteLine("数值超出范围: " + ex.Message);
} catch (InvalidCastException ex) {
Console.WriteLine("类型转换失败: " + ex.Message);
}
// 方法三:使用 as 关键字和 Nullable<int> (仅适用于引用类型或可空值类型)
int? number3 = obj as int?;
if (number3.HasValue) {
Console.WriteLine("方法三结果: " + number3.Value);
} else {
Console.WriteLine("类型转换失败");
}
(int)
进行强制类型转换。如果 obj
不是 int
类型,则会抛出 InvalidCastException
异常。Convert.ToInt32
方法,它可以处理更多的输入类型(如字符串、浮点数等),并且在遇到无效输入时会抛出相应的异常(如 FormatException
或 OverflowException
)。as
关键字将 obj
转换为 Nullable<int>
,适用于引用类型或可空值类型。如果转换失败,number3
将为 null
。根据你的需求选择合适的方法进行类型转换。
上一篇:c# list 转string
下一篇:c#向下取整
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站