繁体   English   中英

C#返回值(int)+ =

[英]C# return value of (int) +=

在C#中,可以使用int Previous = x++; 在递增之前将x的值加载到Previous (Previous = 0,x = 1)中。 但是, int Previous = x += 5行为方式不同(Previous = 5,x = 5)。

是否有合适的速记语句将整数增加大于1的间隔,同时存储我不知道的原始变量?

是否有合适的速记语句将整数增加大于1的间隔,同时存储我不知道的原始变量?

不,没有通用的复合后增量运算符。

如果您确实想要,可以使用一种方法来伪造它:

public static int PostIncrement(ref int variable, int amount)
{
    int original = variable;
    variable += amount;
    return original;
}

然后:

int previous = PostIncrement(ref x, 5);

不过,就可读性而言,我个人会尽量避免这样做。我几乎总是将复合赋值运算符用作独立的语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM