У меня есть класс Deduction
, который имеет свойство Sequence
из int
типа:Почему использование ++ отличается от C#?
public class Deduction
{
private int _sequence;
public int Sequence
{
get { return _sequence; }
set { _sequence = value; }
}
...
}
Теперь у меня есть объект Deduction
типа и его собственности Sequence
имеет значение 1:
Deduction deduction = new Deduction();
deduction.Sequence = 1;
Теперь я имеют переменную newSequence
категории int
, значение которой составляет -1:
int newSequence = -1;
Я хочу взять текущее значение Sequence
объект deduction
объект, добавить 1 и сохранить результат в newSequence
переменной. Так что я написал этот код:
newSequence = deduction.Sequence++;
Но что я узнаю, что приведенный выше код изменяет значение Sequence
имущества deduction
объекта к от в то время как я ожидал, что он будет оставаться на .
А также приведенный выше код изменяет значение newSequence
к от -1 в то время как я ожидал, что это изменится 2
.
Это странно. Может ли кто-нибудь объяснить, что здесь происходит?
Благодаря
Вы прочитали [документацию] (https://msdn.microsoft.com/en-us/library/36x43w8w.aspx)? – mason
@ AlexM. Вы должны объяснить, что в этом плохого. – mason
Вы можете прочитать 'variable ++' as: 'сначала дать мне значение переменной, затем прирастить переменную', в то время как '++ variable' можно прочитать как: 'increment variable, а затем дать мне свое (уже увеличенное) значение'. –