我有一个不可变的结构体,希望保持它的不可变性,但也想允许类似 var p2 = p1.v = 3
的模式。我认为下面的方法可能管用,但似乎并不是这样:
public struct Number {
readonly int n;
public int N {
get{ return n; }
set{ return new Number(value); }
}
public Number(int newN) {
n = newN;
}
}
有没有办法让 var p2 = p1.v = 3
或者 var p2 = (p1.v = 3)
起作用?
public Number setN(int newN){ return new Number(int newN);}
如果有多个数字,这段代码可以显著缩短。 - flaviut