Tag: while loop

无法在按钮单击c#mvc时立即中断循环

我有mvc动作方法,其中while循环运行我想停止那个循环在另一个按钮上单击所以我保持一个标志并将其设置为false以打破循环。 bool flag = true; public async Demo() { while(flag == true) { do something… } } 现在点击按钮我正在调用一个动作方法来停止while循环 – public ActionResult StopLoop() { flag = false; Return View(“Index”) } 但是点击按钮后点击这个StopLoop几乎需要一分钟的时间。 为什么? 可能都在同一个UI页面上并共享同一个家庭homecontroller我可以做的任何技巧? 我有一个按钮请求2个按钮,循环启动,我想要另一个按钮点击请求循环停止。

继续打开OpenFileDialog,直到选择有效文件

我有打开OpenFileDialog的代码,我正在检查文件的大小以确保它不超过特定限制,但如果用户选择了一个大文件大小,我需要警告他,并让他回到对话框,选择其他文件,或单击取消。 这是最好的方法: OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = “Jpeg files, PDF files, Word files|*.jpg;*.pdf;*.doc;*.docx”; while (dialog.ShowDialog() != DialogResult.Cancel) { var size = new FileInfo(dialog.FileName).Length; if (size > 250000) { MessageBox.Show(“File size exceeded”); continue; } } 编辑:在尝试之前我尝试了以下代码: OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = “Jpeg files, PDF files, Word files|*.jpg;*.pdf;*.doc;*.docx”; dialog.FileOk += delegate(object s, CancelEventArgs […]

循环冻结Unity3D中的游戏

我一直在与while循环斗争,因为他们几乎没有为我工作。 它们总是导致我的Unity3D应用程序冻结,但在这种情况下我真的需要它才能工作: bool gameOver = false; bool spawned = false; float timer = 4f; void Update () { while (!gameOver) { if (!spawned) { //Do something } else if (timer >= 2.0f) { //Do something else } else { timer += Time.deltaTime; } } } 理想情况下,我希望那些if语句在游戏运行时运行。 现在它崩溃了程序,我知道它是while循环,这是问题,因为它随时冻结,我取消注释。

为什么我不能在C#中使用整数作为while循环的条件?

我以这种方式使用while循环时收到错误,我不明白为什么: int count = 5; while(count–) //here showing an error { Console.WriteLine(“Number : {0}”, count); } 但是,在C中,代码可以正常工作。 我有点困惑为什么我得到这个错误。 有人可以解释为什么吗

协同程序和while循环

我一直在沿着一条路径进行物体移动我从Navmesh Unity3d开始使用我正在使用coroutine,我用while循环控制它,因为我可以显示 public void DrawPath(NavMeshPath pathParameter, GameObject go) { Debug.Log(“path Parameter” + pathParameter.corners.Length); if (agent == null || agent.path == null) { Debug.Log(“Returning”); return; } line.material = matToApplyOnLineRenderer; line.SetWidth(1f, 1f); line.SetVertexCount(pathParameter.corners.Length); allPoints = new Vector3[pathParameter.corners.Length]; for (int i = 0; i 0) { if (index != path.corners.Length – 1) { start = allPoints[index]; index += […]

如果没有使用“占位符”而没有其他任何事情可以安全循环,我怎么能安全地循环?

为了调用我的Web API方法,直到不再返回数据(我正在批量获取它,为了保持每个结果集很小,由于客户端的98-lb弱点角色(Windows CE手持设备)),我正在使用此代码: while (moreRecordsExist) { redemptionsList.redemptions.Clear(); string uri = String.Format(“http://platypus:28642/api/Redemptions/{0}/{1}”, lastIdFetched, RECORDS_TO_FETCH); var webRequest = (HttpWebRequest)WebRequest.Create(uri); webRequest.Method = “GET”; using (var webResponse = (HttpWebResponse)webRequest.GetResponse()) { if (webResponse.StatusCode == HttpStatusCode.OK) { var reader = new StreamReader(webResponse.GetResponseStream()); string s = reader.ReadToEnd(); var arr = JsonConvert.DeserializeObject(s); if (null == arr) break; foreach (JObject obj in arr) { […]

在while循环的条件之后放置分号会发生什么?

我偶然遇到过这样的情况: while (true) { while (age == 5); //What does this semi-colon indicate? //Code //Code //Code } while(true)表示这是一个无限循环,但我无法理解while条件完成后的分号是什么,是不是等于这个?: while (age == 5) { } //Code //Code 换句话说,它是否意味着while循环是无用的,因为它永远不会进入块?

c#中的for和while循环

for (i=0 ; i<=10; i++) { .. .. } i=0; while(i<=10) { .. .. i++; } 在for和while循环中,哪一个更好,性能明智?