c#入门之分支语句使用方法(三元运算符、if语句、switch语句)

时间:2021-12-06 00:55:20 

三元运算符:?

很多语言中都有这个运算符,原理都是一样的,区别可能就在于书写的格式上。习惯了excel的方式,总想把多个表达式用 , 号隔开,呵呵。在C#的三元运算符 ? 中,返回的两个表达式之间,使用 : 号隔开,而不是 , 号,注意了:


string h = (k<10) ? "k小于10":"k大于或等于10";

当然,这种表达式适合简单的比较后返回值处理,但对于根据比较结果而执行大量的代码就不太适用了。

IF语句

IF语句没有返回值(不像 ? ),而且可以执行复杂的语句代码块,使用 { } 号包围起来就OK了。和其它的语言差不多:if……elseif……else……,还是举个例子吧,看看编译的效果:


string msg;
double i, j;
Console.WriteLine("请输入第1个数的值:");
i = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入第2个数的值:");
j = Convert.ToDouble(Console.ReadLine());
if (i>j)
{
    msg = "大于";
}else if (i == j)
{
    msg = "等于";
}else
{
    msg = "小于";
}
Console.WriteLine("第一个操作数 {0} 第二个操作数", msg);
Console.ReadKey();

这个例子比较简单,但是却从中看出一个编程思想。换作以前,自己肯写会在每个if语句块中加入Console.WriteLine来输出结果,而这儿就精简到只需要一条输出语句。以后要在这方面多注意。

switch语句

IF语句虽然好用,但是遇到离散的值,用IF来比较,就会显得很不好读。另外,switch是将表达式的值与可选项进行匹配,而不是类似if的条件判断(>、<)。被匹配的值必须是常数值,可以为字面值(1、2、3),或者是常量:


const string myName = "karli";
const string sexyName = "angelina";
const string sillyName = "ploppy";
string name;
Console.WriteLine("请输入你的姓名:");
name = Console.ReadLine();
switch(name.ToLower())
{
    case myName:
        Console.WriteLine("你和我有相同的名字,{0}", myName);
        break;
    case sexyName:
        Console.WriteLine("哇~,{0}名字好性感哦。", sexyName);
        break;
    case sillyName:
    case "h":
        {
        Console.WriteLine("{0}这名字真是太漂了~~", sillyName);
        Console.WriteLine("那当然~");
        break;
        }
    default:
        Console.WriteLine("hello {0}", name);
        break;
}
Console.ReadKey();

每个case执行后的语句,都需要放置一个break,包括default也需要。另外,case也可以多个堆叠,只要其中一个满足条件,就会执行后面的语句。而在case后,也可以使用 {} 把语句块包围起来,执行多条语句。

结语

其实在学习过程中,示例的编写、调试通过是很重要的,不止加深了印象,还会引发你的思考。当然,要是有一些小的程序练练手,是非常不错的哈,大家有需求或想法的话可以联系我哈。

标签:c#,分支语句,三元运算符
0
投稿

猜你喜欢

  • 详解Java中二叉树的基础概念(递归&迭代)

    2022-04-04 13:40:17
  • C#将配置文件appsetting中的值转换为动态对象调用

    2023-11-28 01:29:53
  • idea 实现搜索jdk中的类和包操作

    2022-06-02 22:54:47
  • 在WPF中实现平滑滚动的方法详解

    2021-06-17 06:34:16
  • Spring实现处理跨域请求代码详解

    2023-11-25 12:28:34
  • 在SpringBoot中整合使用Netty框架的详细教程

    2023-03-26 23:59:53
  • SpringBoot数据层测试事务回滚的实现流程

    2022-05-01 14:36:37
  • 关于C# dynamic装箱问题

    2021-09-13 19:22:40
  • Java Spring的使用注解开发详解

    2023-04-27 03:00:40
  • java简单工厂模式实例及讲解

    2021-09-19 14:08:39
  • Java实现贪吃蛇游戏

    2023-11-20 18:40:29
  • Java详细讲解堆排序与时间复杂度的概念

    2023-10-20 02:00:11
  • 剑指Offer之Java算法习题精讲链表专项训练

    2023-11-29 16:31:48
  • Android滑动事件冲突详解(一)

    2022-07-22 18:20:22
  • Java maven详细介绍

    2022-10-12 06:45:31
  • C#实现生成mac地址与IP地址注册码的两种方法

    2022-07-14 20:14:58
  • 代码详解Java猴子选王问题(约瑟夫环)

    2023-09-16 07:33:43
  • C#中Json的简单处理方法

    2022-05-19 05:25:14
  • javascript最新2020经典面试题

    2023-05-15 09:04:43
  • JavaMail实现带附件的邮件发送

    2021-10-21 15:00:09
  • asp之家 软件编程 m.aspxhome.com