二、C#笔记

/// <summary>
/// 第三章:方法和作用域
/// </summary>
namespace Chapter3
{
    class Program
    {
        public static void Main(string[] args)
        {
            //3.1创建方法
            Console.WriteLine($"{addValues(1, 2)}");
            ///3.1.3 使用表达式主体方法
            void showresult(int answer) => Console.WriteLine($"the answer is {answer}");

            //3.2调用方法
            showresult(100);

            //3.3使用作用域
            ///3.3.1定义局部作用域
            ///3.3.2定义类作用域
            ///3.3.3重载方法
            ///3.3.4编写方法

            //3.4 使用visual studio调试器来调试方法
            ///3.4.1重构代码
            /* 在应用程式的多个位置写相同的代码,选定并右击输入的代码块,选择快速操作和重构,再单击提取方法*/

            //3.5使用可选参数和具名参数
            ///3.5.1定义可选参数
            optMethod(99, 123.45, "world");//全部三个参数都提供了实参
            optMethod(100, 54.321);//只为前两个参数提供了实参
                                   ///3.5.2传递具名参数
            optMethod(first: 99, third: "world");
            ///3.5.3消除可选参数和具名参数的歧义
            ///提供具名参数,编译器会将参数名和方法声明中指定的参数名比较,并选择参数名称匹配的方法。
            Console.ReadLine();
        }

        /// <summary>
        /// 3.1.1 声明方法
        /// </summary>
        /// <param name="left"></param>
        /// <param name="right"></param>
        /// <returns></returns>
        static int addValues(int left,int right)
        {
            //3.1.2 从方法返回数据
            return left + right;
        }

        /// <summary>
        /// 3.2.2 从方法返回多个值(元祖)
        /// </summary>
        /// <param name="left"></param>
        /// <param name="right"></param>
        /// <returns></returns>
        //static (int,int) addValues2(int left, int right)
        //    {
        //        return (left,right);
        //    }

        ///3.4.2嵌套方法
        static long CalculateFactorial(string input)
        {
            int inputValue = int.Parse(input);
            long factorial(int dataValue)
            {
                if (dataValue == 1)
                {
                    return 1;
                }
                else
                {
                    return dataValue * factorial(dataValue - 1);
                }
            }
            long factoricalValue = factorial(inputValue);
            return factoricalValue;
        }

        /// <summary>
        /// 3.5.1
        /// </summary>
        /// <param name="first"></param>
        /// <param name="second"></param>
        /// <param name="third"></param>
        static void optMethod(int first, double second=0.0,string third = "hello")
        {

        }


    }
}
 

/// <summary>
/// 第四章:使用判断语句
/// </summary>
namespace Chapter4
{
    class Program
    {
        static void Main(string[] args)
        {
            One();//4.1声明布尔变量
            Two();//4.2使用布尔操作符
            Three();//4.3使用if语句判断
            Four(0);//4.4使用switch语句做判断
            Five(8);//4.5为switch表达式使用模式匹配
            Console.ReadLine();
        }

        private static void Five(int v)
        {
            switch (v)
            {
                case 0:
                    v += 1;
                    break;
                default:
                    v += 1;
                    break;
            }
            //int a = 0;
            //a = v switch
            //{
            //    0 => 1,
            //    1 =>1,
            //    _ =>1
            //};

        }

        private static void Four(int num)
        {
            //4.4.1理解switch语句的语法
            switch (num)
            {
                case 0:
                    Console.WriteLine("num=0");
                    break;
                default:
                    Console.WriteLine("num!=0");
                    break;
            }
            //4.4.2遵守switch语句的规则
            /*
             * 1.switch语句的控制表达式只能是某个整形或string。其他的类型只能用if
             * 2.case标签必须是常量的表达式,如42等等。要是想在运行时计算case标签的值,就只能用if语句
             * 3.case标签必须唯一,不允许两个case标签具有相同的值
             * 4.可以续写多个case标签(中间不间插额外的语句)
             */
            switch (num)
            {
                case 1:
                case 2: //允许直通
                    Console.WriteLine("num=2"); //1和2都执行相同的代码
                    break;
                //case 3:
                //    Console.WriteLine("num=3");//出错标签之间有额外的代码
                case 4:
                    Console.WriteLine("num=4");
                    break;
            }

        }

        static void One()
        {
            bool areYouReady;
            areYouReady = true;
            Console.WriteLine(areYouReady);
        }

        static void Two()
        {
            //4.2.1理解相等和关系操作符(==,!=,<,>,<=,>=)
            //4.2.2理解条件逻辑操作符(&&,||)
            //4.2.3短路求值(针对||)
            //4.2.4操作符的优先级和结合性总结
            //1.<,>,<=,>=
            //2.==,!=
            //3.&&,||
            //4.=(赋值)
            //4.2.5模式匹配
            try
            {
                bool valiPercentage;
                //int percent = int.Parse(Console.ReadLine());
                //valiPercentage = (percent is <0 and <=100);  C#8.0
            }
            catch
            {
                Console.WriteLine("请重新输入!");
                Console.ReadLine();
            }
        }

        static void Three()
        {
            int percent = int.Parse(Console.ReadLine());
            //4.3.1理解if语句的语法
            if (percent>=100)
                Console.WriteLine("hh!");
            else
                Console.WriteLine("heng!");
            //4.3.2使用代码块分组语句(用括号)
            //4.3.3嵌套if语句
            if (percent > 100)
            {
                Console.WriteLine("aa!");
            }else if (percent > 50)
            {
                Console.WriteLine("bb!");
            }
            else
            {
                Console.WriteLine("cc!");
            }


        }
    }
}
 

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值