How to modify the boxed value without creating a new object in C#?
E.g. if I have object o = 5;
and I want to change the value of the boxed 5
t
You can do the "boxing" yourself, than you can modify it.
class Box
{
public int Value { get;set;}
}
This prevents the automatic boxing.
If you define yourself an conversion operator
public static Box operator(int value) => new Box() { Value = value }
You can keep the same syntax as above. But this syntax will create a new object as you see. To modify the object, you would have to
Box b = 5;
object o = b;
((Box)o).Value = 6;
// or
b.Value = 6;