2.5 C#语法的学习(五) && 判断

2021/4/25 20:27:04

本文主要是介绍2.5 C#语法的学习(五) && 判断,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

判断是个很简单的概念:如果是________,就________;如果不是________,就________。就是“分情况讨论”。
我们日常生活中对此应用广泛,比如:
比如你下班回家的路上,妈妈一通电话,“儿砸,去菜市场问问排骨多少钱,如果35块以下就买3斤,如果35块以上就算了”。
这其实就是一个判断。
1.改道前往菜市场;
2.询问排骨价格;
3.判断排骨价格:
如果排骨价格小于等于35块,购买3斤
如果排骨价格大于35块,不购买
5.回家。

在C#中,我们可以通过if-else进行排骨价格的判断

//获得一个“市场”实例对象
Market market = new Market("菜市场");

string ribs = "排骨";
var price = market.GetPrice(ribs);
if (price <= 35)
{
	//购买排骨
	market.Buy(ribs, 3);
}
else
{
	//什么都不做,这个else代码段可以不写
}

在这里,我们创建了一个“Market”类,来定义关于“菜市场”的一切行为(询问价格、购买等)。

if-else

if-else可以嵌套使用,再结合逻辑运算符,可以进行复杂的判断。 if-else的教程有if 语句、if...else 语句 、嵌套 if 语句 。
逻辑运算符包括&&(取并)、||(取交)、!(取非),这里和数学中的意义是一样的。详细可以看C# 运算符的逻辑运算符部分。
比如,妈妈的指令更复杂一些,“去菜市场看看有没有猪蹄,如果有40块以下的猪蹄就买猪蹄,否则就买排骨,排骨买3斤,猪蹄买2斤”
我们整理一下:
1.询问是否有猪蹄(猪蹄优先于排骨);
2.判断是否有猪蹄:
(1)如果有猪蹄,继续询问猪蹄的价格
如果猪蹄价格小于等于40块,则购买2斤猪蹄,并且回家
如果猪蹄价格大于40块,不购买猪蹄,继续执行(没有回家)
(2)如果没有猪蹄,继续执行(没有回家)
3.询问是否有排骨;
4.判断是否有排骨:
(1)如果有排骨,购买3斤排骨,回家
(2)如果没有排骨,回家
是不是感觉很复杂?明明只是简单的一句交代~那是因为写程序的时候,需要把所有的情况都考虑到,我们对妈妈的话进行了“补全”。
我们也可以使用流程图来帮助我们梳理逻辑(这里我使用的是Microsoft Visio):

接下来我们来实现这个逻辑。

Market market = new Market("菜市场");

string ribs = "排骨";
string trotters = "猪蹄";
var isHaveTrotters = market.IsHaveProduct(trotters);
if (isHaveTrotters)
{
	var trottersPrice= market.GetPrice(trotters);
	if (trottersPrice <= 40)
	{
		market.Buy(trotters, 2);
		//“回家”,后面的逻辑不再执行
		return;
	}
}
var isHaveRibs = market.IsHaveProduct(ribs);
if (isHaveRibs)
{
	market.Buy(ribs, 3);
}

这里有很多种写法,有经验的开发可以把代码写得更加简洁和漂亮。但是力求简洁的同时,请一定、一定多写注释,用代码和注释保证业务逻辑的清晰,这既是为了自己维护代码的方便,也是为了给其他开发阅读提供便利。有时候宁愿把代码写得“低级”一点,更长一点,也不要为了简洁去抛弃代码的可读性。命名要严谨也是一样的道理。

if-else语句只能填写“真-假”的问题,那么超过两种可能的问题怎么解决呢?当然也可以通过嵌套if-else来解决,但C#为我们提供了更便利的方式——————switch。

多种情况的判断————switch

switch多用于枚举值判断、某种状态的判断(比如XXXStatusCode)。这种情况下,使用switch可以变得很简洁而美观,提高代码可读性。详细的用法可以看这里。
switch对选择困难症的小伙伴来说一定不陌生。比如打算放假出去旅游,既想去日本,又想去拉萨,还想去泰国。但是假期又只够去一个地方。这个时候,我们就可以使用“switch”啦。

var selectedTourism = "你最终选择前往的目的地";
switch (selectedTourism)
{
	case "日本":
		//做前往日本的旅行攻略
		break;
	case "拉萨":
		//做前往拉萨的旅行攻略
		break;
	case "泰国":
		//做前往泰国的旅行攻略
		break;
	default:
		//选择什么的太困难了,还是宅家里吧
		break;
}

理解了么?根据情况,选择了不同的目的地,就会去完成不同的事情(不同的旅游攻略)。在程序中,如果都没有选,就会有一个“默认处理”的入口“default”。

示例代码

JudgeConditions



这篇关于2.5 C#语法的学习(五) && 判断的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程