ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Compiler Error CS0445 无法修改取消装箱转换的结果 取消装箱转换的结果是一个临时变量。编译器禁止您修改这样的变量,因为当临时变量消失时,任何修改也随之消失。若要修复此错误,声明新的值类型变量来存储中间表达式,并将取消装箱的转换的结果赋给该新变量。 下面的代码生成 CS0455。 ``` // CS0445.CS class UnboxingTest { public static void Main() { Point p; p.x = 1; p.y = 2; object obj = p; // The following line generates CS0445, because the result // of unboxing obj is a temporary variable. ((Point)obj).x = 2; // The following lines resolve the error. // Store the result of the unboxing conversion in p2. Point p2; p2 = (Point)obj; // Then you can modify the unboxed value. p2.x = 2; } } struct Point { public int x, y; } ```