当前位置:
首页
文章
后端
详情

C# 编程语言学习系列(五)

玩过游戏的朋友们都知道,游戏结局一般会有好些个,只有完成相应的条件,那么才会解锁对应的结局。今天,这篇文章来学习一下关于 C# 语言中的条件判断语句。

一、条件判断语句

1、条件运算符

在第三天的学习记录中,在其他运算符中,有提到一种条件判断的条件运算符 exp?x:y 如果 emp 判定结果为 true,那么结果将会返回 x,否则返回 y。

int a = 2;
int b = 3;
string str = a > b ? "a比b大" : "b比a大";

这里的条件运算符和下面将要介绍的 if-else 语句大同小异。

2、判断语句

(1)if 语句

在编程语言中,一个 if 语句跟着一个布尔表达式和一个或者多个的程序语句:

if(emp)
{
    // 语句 1
    // 语句 2
    // ...
}

只有当布尔表达式 emp 的结果为 true,才会执行 if 语句中的程序语句,否则的话,就会跳过 if 语句。

(2)if-else语句

一般的判断,预想有两个或者多个的结果。比如上面提到的条件运算符,比较两个数值的大小,如何都需要输出一个结果。

因此,if 语句在布尔表达式为 true 的时候,输出其中内容;而 else 语句是在当布尔表达式为 false 的时候,输出其中的内容。

int a = 3;
int b = 2;
if(a > b){
    Console.WriteLine("a 大于 b ");
}
else{
    Console.WriteLine("a 小于 b ");
}

很容易看出,这段代码的逻辑其实有一点问题,如果 a 和 b 是一样的值,哪个输出结果都是错误的。这时候在一整个条件语句,可能需要多个判断语句。多个判断语句,就需要使用 if - else if - else 语句。

if(a = b){
    Console.WriteLine("a 等于 b");
}
else if(a > b){
    Console.WriteLine("a 大于 b");
}
else{
    Console.WriteLine("a 小于b");
}

这样一来,整个逻辑就显得清楚和明确了。

(3)嵌套判断

在满足某个前提的情况下,判断是否满足另外一个前提。这时候就需要使用嵌套语句来多重判断。

例如:你想去网吧玩游戏,第一个条件首先年龄要大等于18岁,其次的条件是钱包里的钱要带足了。要不然,就不能进去玩游戏了。

if(age >= 18){
    if(money >= 10){
        Console.WriteLine("我选亚索!");
    }
}

满足了两个条件了,那么就可以游戏里面快乐地哈撒给了!

(4)switch 语句

如果需要判断的条件有十几二十个的,那么如果一直使用 else if 来判断,会使得代码看上去臃肿冗杂。

switch 语句允许测试当一个变量等于多个值时的情况。

// 语法
switch(expression){
    case exp1:
        statement1;
        break;
    case exp2:
        statement2;
        break;
    // ...
    case expn:
        statementn;
        break;
    default:
        d_statement;
        break;
}

  • switch 语句后面的 expression 必须是一个整数或枚举类型,或者是一个 class 类型。
  • 一个 switch 语句中可以有任意个 case 语句,case 后面的值一定是和 expression 是同类型的,而且必须是常量。
  • default 语句可有可无,当所有的 case 语句都不满足,如果存在,就会执行 default的语句;如果不存在,输出一个空值。
  • C# 不支持从一个 case 贯穿到另一个 case 语句。因此,break 关键词是一定要的。遇到第一个 break 则就会结束整个 switch 语句。

(4)嵌套 switch 语句

switch 语句同样也是可以嵌套的。

switch(num1){
    case 1:
        Console.WriteLine("这个 1 是属于外部的");
        switch(num2){
            case 1:
                Console.WriteLine("这个 1 是属于内部的");
                break;
        }
        break;
}

一个 switch 语句中嵌套了另一个 switch 语句,即使外部和内部的 case 常量值包含相同的值,是不会产生矛盾的。

值得注意的是,内部的 case 最后跟了 break 语句,外部的 case 也一定不能忘记 break 关键词。

二、总结

到这里,关于 C# 的条件判断语句的学习记录就已经结束了。

下一篇文章,将开始学 C# 中的循环语句。

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。

同类热门文章

深入了解C++中的new操作符:使用具体实例学习

C++中的new操作符是动态分配内存的主要手段之一。在程序运行时,我们可能需要动态地创建和销毁对象,而new就是为此提供了便利。但是,使用new也常常会引发一些问题,如内存泄漏、空指针等等。因此,本文将通过具体的示例,深入介绍C++中的new操作符,帮助读者更好地掌握其使用。


深入了解C++中的new操作符:使用具体实例学习

怎么用Java反射获取包下所有类? 详细代码实例操作

Java的反射机制就是在运行状态下,对于任何一个类,它能知道这个类的所有属性和方法;对于任何一个对象,都能调用这个对象的任意一个方法。本篇文章将通过具体的代码示例,展示如何通过Java反射来获取包下的所有类。


怎么用Java反射获取包下所有类? 详细代码实例操作

员工线上学习考试系统

有点播,直播,在线支付,三级分销等功能,可以对学员学习情况的监督监控,有源码,可二次开发。支持外网和局域网私有化部署,经过测试源码完整可用!1、视频点播:视频播放,图文资料,课件下载,章节试学,限时免

员工线上学习考试系统

了解Java中的volati关键字的作用 以及具体使用方法

本篇文章将和大家分享一下Java当中的volatile关键字,下面将为各位小伙伴讲述volatile关键字的作用以及它的具体使用方法。


了解Java中的volati关键字的作用 以及具体使用方法

Java Map 所有的值转为String类型

可以使用 Java 8 中的 Map.replaceAll() 方法将所有的值转为 String 类型: 上面的代码会将 map 中所有的值都转为 String 类型。 HashMap 是 Java

Java Map 所有的值转为String类型