码迷,mamicode.com
首页 > 其他好文 > 详细

switch选择和if判断处理相似问题的比较

时间:2018-06-11 02:18:20      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:速度   效率   初学   case   选项   else   运行   efault   http   

在编程中,萨摩遇到了一个常见的功能需要实现,即对某多功能程序展示菜单给用户进行向导和选择。比如:

技术分享图片

在进行编码时,老师给与的建议是对用户输入的数据进行多个if判断,从而进行相应的代码功能段。代码示例:

if(input=="0")
{
break;
}
else if(input=="1")
{
#region 添加数据
#endregion
}
else if(input=="2")
{
#region 删除数据
#endregion
}
else if(input=="3")
{
#region 修改数据
#endregion
}
else if(input=="4")
{
#region 升序排列
#endregion
}
else
{
Console.Write("输入有误!");
Continue; }

因为大量出现的if让强迫症的萨摩有点生理不适,故情急之下想起了因为不常用而快要淡出记忆海之外的switch选择,因为其“case”选择的都是固定的值,日常处理问题时有一定局限性,才惨遭遗忘,但用在这里有限的几个菜单选择,且选项的编号都是定值的情形再适合不过。本着能省一个代码就省一个代码的原则,萨摩尝试了一下用switch选择来实现这个功能。代码示例:

switch (input)
{
case "1":
#region 添加数据
#endregion
continue;
case "2":
#region 删除数据
#endregion;
continue;
case "3":
#region 修改数据
#endregion
continue;
case "4":
#region 升序排列
#endregion
continue;
default:
Console.Write("输入有误!”);

实践发现,对于菜单的引导功能,switch选择和if判断都可以顺利实现。在编码操作中,个人经验上if判断更直观,所敲代码数switch选择也并没有明显的简化。现实中深入编码工作,因为switch选择所要实现的功能if判断都能实现,而反之,却不一定。由于switch选择的局限性,使用频率不高,可能很多初学者对于switch选择,相对来说会陌生许多。虽然即使不会运用switch选择并不会影响我们的编程,但既然存在这种功能的代码,还是应该多尝试使用,至少若有一天遇到用switch选择编写的内容,要知道是什么意思。而对于switch选择在运行速度和效率上和if判断的区别,目前所学知识尚不足以解释,但推测正是这方面的原因,让switch选择有其闪光点。总之,无论如何,这是萨摩对于编码多样性的一种尝试。

switch选择和if判断处理相似问题的比较

标签:速度   效率   初学   case   选项   else   运行   efault   http   

原文地址:https://www.cnblogs.com/PoetSAW/p/9165047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!