Лучший способ очистить значение в цикле? - PullRequest
0 голосов
/ 28 июня 2018

Меня интересует практика кодирования, которая у меня была в течение некоторого времени, и я хотел бы знать, если:

  • это имело какое-то значение
  • был лучший способ сделать это

Представьте, что у вас есть цикл обновления и два различных состояния, A и B. В состоянии A вам нужна конкретная переменная V, которую вы хотите очистить при выходе из состояния A (или входе в состояние B). Итак, что я обычно делаю, это создаю функцию в B, которая говорит:

if V not null: 
    V  = null

Это означает, что каждый раз, когда я вхожу в цикл, я проверяю условие V не нуль. Это имеет цену? Есть ли более чистый способ сделать это?

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Каждый раз, когда вы переключаете состояния, всегда просто присваивайте переменной V значение null, нет необходимости проверять, является ли она уже нулевой. Стоимость в любом случае будет минимальной.

if(A) 
{
   V = null;
   goToA();
}
if (B) {
   V = null;
   goToB();
}
0 голосов
/ 28 июня 2018

Вот как я обычно это делаю:

byte someValueType = 1;
object someRefType = null;


while (condition)
{
    // do stuff

    someValueType = 0; // assuming 0 is the default value
    someRefType = null;
}

Стоимость выполнения этого (насколько я знаю) минимальна. Оба (ссылка и значение) находятся в стеке, так что не волнуйтесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...