Tag: while循环

有一个空的while循环有什么影响?

我知道这可能是一个’愚蠢’的问题,但有时,我只想循环直到条件为假,但我不喜欢保持循环为空。 所以代替 : Visible = true; while(IsRunning) { } Visible = false; 我通常喜欢 : while(IsRunning) { Visible = true; } Visible = false; 但是,我有点担心在Visible = true;行中究竟发生了什么Visible = true; 。 运行时是否继续执行该语句,即使它是多余的 ? 这样做甚至可取吗? 许多“代码增强”插件不喜欢空的while循环,我真的不明白为什么。 所以: 有一个空的while循环有什么问题吗? 如上所示的循环是否有任何性能影响? 谢谢!

while循环中的可变初始化

我有一个以块的forms读取文件的函数。 public static DataObject ReadNextFile(){ …} 而dataobject看起来像这样: public DataObject { public string Category { get; set; } // And other members … } 基本上我想做的是以下内容 List dataObjects = new List(); while(ReadNextFile().Category == “category”) { dataObjects.Add(^^^^^ the thingy in the while); } 我知道它可能不是这样做的,因为我如何访问我刚读过的对象。

c#中最有效的循环是什么

有许多不同的方法可以通过c#中的对象项来完成相同的简单循环。 这让我想知道是否有任何理由表现或使用方便,以至于使用在另一方面。 或者仅仅是个人偏好。 拿一个简单的对象 var myList = List; 让我们假设对象已填充,我们想迭代这些项目。 方法1。 foreach(var item in myList) { //Do stuff } 方法2 myList.Foreach(ml => { //Do stuff }); 方法3 while (myList.MoveNext()) { //Do stuff } 方法4 for (int i = 0; i < myList.Count; i++) { //Do stuff } 我想知道的是,每个编译成同样的东西? 使用一个比其他人有明显的性能优势吗? 或者这只是编码时的个人偏好? 我错过了吗?

随时间推移两个值之间的Lerp

我正在尝试将浮点数减少一个时间值,我正在使用Unity并停止时间Time.timeScale = 0f; 所以不能使用Time.deltaTime所以在while循环中使用’Time.realtimeSinceStartup’,我从一个全局脚本中读取主音量变量,玩家可以在0-1之间设置游戏,所以说我读了0.6并且我想要在2秒内将音量降低到0我如何获得百分比以保持减少音量? 这是我的代码.. private IEnumerator VolumeDown () { float volumeIncrease = globalVarsScript.musicVolume; float volumePercentage = ??; float newLerpEndTime = Time.realtimeSinceStartup + 2f; while (Time.realtimeSinceStartup < newLerpEndTime) { audio.volume = volumeIncrease; volumeIncrease -= volumePercentage; yield return null; } } 对不起,我只是无法获得’volumePercentage’ 谢谢。