c# do-while循环在web开发中有什么常见的用途吗?
本文关键字:常见 什么 循环 do-while web 开发 | 更新日期: 2023-09-27 17:53:32
我已经编码很长时间了,自学成才。现在我正在攻读计算机科学学位,我的编程课正在讨论后测试循环,即do-while循环。
现在我明白它运行一次,然后检查条件…由于我是一名web程序员,我想知道:哪些是常见的web开发(ASP。. NET MVC/Razor最好)的情况下,do-while循环完美适合?
我参与过许多web项目,我不记得这种类型的循环有什么具体用途。在web上,您通常只处理项目集合,并对每个项目进行一些逻辑处理。所以我想说,大多数web开发人员只使用foreach
和for
。
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循环通常用于执行一些操作或计算。
我昨天差点就问了这个问题。在我从事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语言继承下来的,偶尔会有用,所以没有理由去掉它。