在以下代码片段中:
long frameRate = (long)(_frameCounter / this._stopwatch.Elapsed.TotalSeconds);
为什么在赋值运算符的右边有一个附加的(长的)符号(…)?
最佳答案
除法创建一个双精度浮点值(因为TimeSpan.TotalSeconds
是一个double
),因此强制转换将结果值截断为整数而不是浮点。最后,每秒的帧数大约是整数,而不是每秒分数帧的精确答案。
如果frameRate
用于显示或记录,那么转换可能只是为了使输出看起来更好。