c# do-while循环在web开发中有什么常见的用途吗?

本文关键字:常见 什么 循环 do-while web 开发 | 更新日期: 2023-09-27 17:53:32

我已经编码很长时间了,自学成才。现在我正在攻读计算机科学学位,我的编程课正在讨论后测试循环,即do-while循环。

现在我明白它运行一次,然后检查条件…由于我是一名web程序员,我想知道:哪些是常见的web开发(ASP。. NET MVC/Razor最好)的情况下,do-while循环完美适合?

c# do-while循环在web开发中有什么常见的用途吗?

我参与过许多web项目,我不记得这种类型的循环有什么具体用途。在web上,您通常只处理项目集合,并对每个项目进行一些逻辑处理。所以我想说,大多数web开发人员只使用foreachfor

Do - While更适合算法和计算,在经典的web开发中你不会做很多这些。

我不是特别了解MVC,但是几年前我必须创建一个管理页面来输入数据,在客户端可以添加新字段来添加员工配置文件。(姓名、职称、学历)

这些控件是用JavaScript在客户端创建的,并按顺序编号,如:

txtStaffName0

txtStaffName1

txtStaffName2

然后使用do/while条件检查控件的下一个增量数。类似以下语句:

int count = 0;
do
{
   //find control with count and do stuff...
   count++;
} while (DoesControlExist(count));

除此之外,我想我从来没有见过do/while在web相关的东西中使用…

由于大多数接口逻辑都是在客户端实现的(为了节省带宽和性能原因),所以这个循环几乎没有必要。此外,web和控制台(或windows应用程序)中的程序流的区别在于,web页面在许多用户的上下文中运行,而windows应用程序主要由单个用户使用,用户可以选择管理控制流,如继续或退出。

我敢打赌,如果遇到需要在检查之前先执行的情况,语法会显示这一切。

        do {
            // Do your algo first.
        } while (true); // Check later.
现在在实际代码中,我可以假设:
        int x = 100;
        do {
            x = y - 10;
        } while (x >= 0);

就像C的for循环中x++++x的概念一样,它让你决定现在或以后增加

根据我的经验,循环的用法随需求而变化。


如果遍历集合并对集合中的每个对象执行操作,则每个对象都不会出现运行时异常。

但是for each不起作用,如果你想根据条件从集合中删除一个项目,那么for循环是最好的。from collection.count() - 1 to 0.

for循环通常用于执行一些操作或计算。

我个人很少使用do while。

我昨天差点就问了这个问题。在我从事web开发的这些年里,我想不出有哪一次在产品代码中使用过do/while。另一方面,我也很少使用递归,但在我需要它的少数情况下,使用它是很好的。

无论如何,本文建议在控制台应用中使用它来显示菜单,并在每次输入后重新绘制它。以下是经过编辑的文章代码片段:
   string myChoice;
   do
   {
        // Print A Menu
        Console.WriteLine("My Address Book'n");
        Console.WriteLine("A - Add New Address");
        Console.WriteLine("D - Delete Address");
        Console.WriteLine("Q - Quit'n");
        Console.WriteLine("Choice (A,D,M,V,or Q): ");
        // Retrieve the user's choice
        myChoice = Console.ReadLine();
        // Make a decision based on the user's choice
        switch(myChoice)
        {
            case "A":
                Console.WriteLine("You wish to add an address.");
                break;
            case "D":
                Console.WriteLine("You wish to delete an address.");
                break;
            case "Q":
                Console.WriteLine("Bye.");
                break;
        }
        Console.WriteLine();
    } while (myChoice != "Q"); // Keep going until the user wants to quit

这似乎相当有用。当然,您可以通过将myChoice的初始值设置为"Q"以外的值来解决这个问题,或者通过向while条件添加bool值,或者类似的东西,但是do/while使工作完成得稍微容易一些。它不像递归那么重要;我认为没有多少(如果有的话)do/while 明显优于while 。但它是从C语言继承下来的,偶尔会有用,所以没有理由去掉它。