До декремента против пост декремента
Когда я должен использовать предварительный декремент и когда использовать пост декремент?
и для следующего фрагмента кода, я должен использовать до или после декремента.
static private void function(int number)
{
charArr = new char[number];
int i = 0;
int tempCounter;
int j = 0;
while(charrArr!=someCharArr)
{
tempCounter = number - 1;
password[tempCounter] = element[i%element.Length];
i++;
//This is the loop the I want to use the decrementing in.
//Suppose I have a char array of size 5, the last element of index 5 is updated
//in the previous statement.
//About the upcoming indexes 4, 3, 2, 1 and ZERO.
//How should I implement it?
// --tempCounter or tempCounter-- ?
while (charArr[--tempCounter] == element[element.Length - 1])
{
}
}
}
2 ответа
Решение
Вы используете предварительный декремент, если хотите уменьшить переменную до того, как значение будет передано оставшемуся выражению. С другой стороны, после декремента вычисляется выражение перед уменьшением переменной:
int i = 100, x;
x = --i; // both are 99
а также
int i = 100, x;
x = i--; // x = 100, i = 99
То же самое, очевидно, верно для приращений.
У тебя должно быть ++i;
(не то, что это имеет значение), и должен иметь tempCounter--
В противном случае вы пропустите "первый" индекс charArr.