Есть переменная CmoTime, в которой происходит постоянно генерация 0, хотя вроде не должно CmoTime = TimeGenerator(true, OrderInterval, Precision);
(К примеру с такими числами OrderInterval=0.06, Precision=0.01). А вот и сам TimeGenerator (Interval=0.01, Precition(Tochnost)=100)
private double TimeGenerator(bool FirstOrder, double Tochnost, double Interval)
{
double NewTime;
int GenerationInterval = (int)(Interval * Precition(Tochnost) + 1);
// только если это не первая заявка
if (!FirstOrder)
{
// исключение генерации нуля => повторяющееся время
do
{
NewTime = (double)(rand.Next() % GenerationInterval) / Precition(Tochnost);
} while (NewTime == 0);
}
else NewTime = (double)(rand.Next() % GenerationInterval) / Precition(Tochnost);
return Math.Round(NewTime, ChisloZnakov(Tochnost));
}
Ваша функция Precition
возвращает ноль. Моя функция Precition
из Программа перестает работать после начала вычислений не может возвращать ноль. Но вы закомментировали в ней throw
, поэтому она все равно возвращает ноль.
Так как Precition
возвращает ноль, GenerationInterval
равен единице.
Так как GenerationInterval
равен единице, rand.Next() % GenerationInterval
- будет ноль.
Следовательно, NewTime = 0/0;
- "не число".
Необходимо сделать так, чтобы проводя пальцем вправо/влево переключалась сцена
У меня спортивный интерес, как сделать следующий запрос более лаконичнымИ вообще понять как осуществляются подзапросы в linq к такой коллекции...