2.清单 4-2. Do 循环: Do loop.cs |
using System; class Doloop { public static void Main() { 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("M - Modify Address"); Console.WriteLine("V - View Addresses"); 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": case "a": Console.WriteLine("You wish to add an address."); break; case "D": case "d": Console.WriteLine("You wish to delete an address."); break; case "M": case "m": Console.WriteLine("You wish to modify an address."); break; case "V": case "v": Console.WriteLine("You wish to view the address list."); break; case "Q": case "q": Console.WriteLine("Bye."); break; default: Console.WriteLine("{0} is not a valid choice", myChoice); }
// Pause to allow the user to see the results Console.Write("Press any key to continue..."); Console.ReadLine(); Console.WriteLine(); } while (myChoice != "Q" && myChoice != "q"); // Keep going until the user wants to quit } } |
1.清单 4-2 演示了"do"循环的例子。 "do" 循环的格式是: do { <语句> } while (<布尔表达式>);其中的语句可以是任何合法的C#语句,布尔表达式同以前的规定一样,其返回值要么为true,要么为false。
2.如果你打算输出清单4-2 中的信息或者菜单,之后再读取用户的输入,那么就使用"do" 格式的循环而不要使用"while" 格式的循环语句。因为在本例中,布尔表达式的值是在循环结束处进行计算的, "do" 循环可以保证:循环体中的语句至少执行一次。与此相对应的是:"while" 循环一开始时,计算布尔表达式的值,"while" 循环不能保证循环体中的语句能够至少执行一次。
3.让我们来回顾一下清单 4-2中的内容。
在Main()方法中,我们定义了变量 "myChoice"为字符串类型。之后,输出一些信息到控制台,即输出一个可让用户进行选择的菜单。我们必须要得到用户的输入,即Console.ReadLine()方法所返回的值,该值存放在myChoice变量中。我们必须先得到用户的输入,之后再处理。要完成这件事,一个有效的方法是就使用 "switch"语句。注意到:为了获得同样的功能,我们既匹配了小写字母,也匹配了大写字母。另外一点是:我们使用了 "default:" case,这是个良好的编程作风。
 
2/2 首页 上一页 1 2 |