二、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!");
            }


        }
    }
}
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一题:LeetCode-11.盛水最多的容器

每日一题系列&#xff08;day 13&#xff09; 前言&#xff1a; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f50e…

UVa133救济金发放题解

题目 题目描述 n(n<20)个人站成一圈&#xff0c;逆时针编号为 1~n。有两个官员&#xff0c;A从1开始逆时针数&#xff0c;B从n开始顺时针数。在每一轮中&#xff0c;官员A数k个就停下来&#xff0c;官员B数m个就停下来&#xff08;两个官员有可能能停在同一个人上&#xff…

solidity案例详解(六)服务评价合约

有服务提供商和用户两类实体&#xff0c;其中服务提供商部署合约&#xff0c;默认诚信为true&#xff0c;用户负责使用智能合约接受服务及评价&#xff0c;服务提供商的评价信息存储在一个映射中&#xff0c;可以根据服务提 供商的地址来查找评价信息。用户评价信息&#xff0c…

添加新公司代码的配置步骤-Part1

原文地址&#xff1a;配置公司代码 概述 我们生活在一个充满活力的时代&#xff0c;公司经常买卖子公司。对于已经使用 SAP 的公司来说&#xff0c;增加收购就成为一个项目。我开发了一个电子表格&#xff0c;其中包含向您的结构添加新公司代码所需的所有配置更改。当然&…

c++算术生成算法二

#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<functional> #include<vector> #include<algorithm> #include<numeric>//算术生成算法头文件 #include<string> #include<ctime> using namespace std; set_intersec…

虚拟数据优化器VDO

本章主要介绍虚拟化数据优化器。 什么是虚拟数据优化器VDO创建VDO设备以节约硬盘空间 了解什么是VDO VDO全称是Virtual Data Optimize&#xff08;虚拟数据优化)&#xff0c;主要是为了节省硬盘空间。 现在假设有两个文件file1和 file2&#xff0c;大小都是10G。file1和 f…

第63天-django学习(十二)

补充模块importlib 介绍 importlib模块是Python中用于动态加载和导入模块的内置模块。它提供了一组函数和类&#xff0c;使得我们可以在运行时根据需要加载模块&#xff0c;并且可以对已导入的模块进行操作和管理。 动态加载模块 # 导入模块 &#xff1a; 动态加载一个模块 i…

java学习part40collections工具类

162-集合框架-Collections工具类的使用_哔哩哔哩_bilibili 1.collections工具类 感觉类似c的algorithm包&#xff0c;提供了很多集合的操作方法 2.排序 3.查找 4.复制替换 5.添加&#xff0c;同步

Dockerfile详解#如何编写自己的Dockerfile

文章目录 前言编写规则指令详解FROM&#xff1a;基础镜像LABEL&#xff1a;镜像描述信息MAINTAINER&#xff1a;添加作者信息COPY&#xff1a;从宿主机复制文件到镜像中ADD&#xff1a;从宿主机复制文件到镜像中WORKDIR&#xff1a;设置工作目录 前言 Dockerfile是编写docker镜…

TensorRT之getBindingIndex

在使用 TensorRT&#xff08;NVIDIA 的推理引擎&#xff09;时&#xff0c;getBindingIndex 是一个用于获取绑定索引的函数。TensorRT 将输入和输出张量绑定到引擎的输入和输出索引上。getBindingIndex 函数用于检索给定名称的输入或输出张量在引擎中的索引。 int getBindingI…

【Python百宝箱】极客之选:掌握Python内外库的进程管理技巧

Python系统编程大揭秘&#xff1a;掌握操作系统接口、进程管理与系统信息 前言 在当今软件开发领域&#xff0c;系统编程是一项至关重要的技能&#xff0c;尤其是在涉及到操作系统接口、进程管理以及系统信息的处理时。Python作为一门强大而灵活的编程语言&#xff0c;提供了…

马克思主义原理期末复习大题

导论: 1.什么是马克思主义?马克思主义具有哪些基本特征? 马克思主义是由马克思和恩格斯创立并为后继者所不断发展的科学理论体系,是关于自然,社会和人类思维发展一般规律的学说,是关于社会主义必然代替资本主义,最终实现共产主义的学说,是关于无产阶级解放,全人类解…

Vue 静态渲染 v-pre

v-pre 指令&#xff1a;用于阻止 Vue 解析这个标签&#xff0c;直接渲染到页面中。 语法格式&#xff1a; <div v-pre> {{ 数据 }} </div> 基础使用&#xff1a; <template><h3>静态渲染 v-pre</h3><p v-pre>静态渲染&#xff1a;{{ n…

C++刷题 -- 链表

C刷题 – 链表 文章目录 C刷题 -- 链表1.删除链表的倒数第 N 个结点2.链表相交3.环形链表 1.删除链表的倒数第 N 个结点 https://leetcode.cn/problems/remove-nth-node-from-end-of-list/ 快慢指针的应用 fast指针先移动N步&#xff0c;slow依然指向head&#xff1b;然后fa…

短视频文案生成器有哪些?【2024新版短视频文案生成器】

在当今数字化社交时代&#xff0c;短视频已经成为人们生活中不可或缺的一部分。然而&#xff0c;想要制作引人注目、独具创意的短视频&#xff0c;光有精彩的画面和音效可能不够&#xff0c;一个吸引眼球的短视频文案也是至关重要的。本文将专心分享短视频文案生成器的种类&…

OpenTiny Vue 3.12.0 发布:文档大优化!增加水印和二维码两个新组件

你好&#xff0c;我是 Kagol。 非常高兴跟大家宣布&#xff0c;2023年11月30日&#xff0c;OpenTiny Vue 发布了 v3.12.0 &#x1f389;。 OpenTiny 每次大版本发布&#xff0c;都会给大家带来一些实用的新特性&#xff0c;10.24 我们发布了 v3.11.0 版本&#xff0c;增加了富…

做题笔记:SQL Sever 方式做牛客SQL的题目--VQ29

----VQ29 验证刷题效果&#xff0c;输出题目真实通过率 牛客刷题记录表done_questions_record&#xff0c;为验证重复刷题率&#xff0c;需要我们查找一些数据&#xff1a; question_pass_rate 表示每个用户不同题目的通过率&#xff08;同一用户同一题重复提交通过仅计算一次&…

第3讲、Hyper-V 在Windows Server 2012 R2新增特性:

1、新的VHDX&#xff08;Virtual Hard Disk X&#xff09;格式 1&#xff09;打破VHD最大存储能力2TB的限制&#xff0c;VHDX最大可使用64TB虚拟磁盘空间 2&#xff09;VHD扇区大小被限制为512Byte&#xff0c;但VHDX已经改变为支持更加优秀的4KByte 3…

CFLAGS、CXXFLAGS、FFLAGS、FCFLAGS、LDFLAGS、LD_LIBRARY_PATH区别

这些环境变量在编译和链接过程中扮演着重要的角色。下面是对每个环境变量的详细说明及示例&#xff1a; CFLAGS&#xff1a;用于设置C编译器的编译选项。 示例&#xff1a;将优化级别设置为最高&#xff0c;启用所有警告信息&#xff0c;并指定目标体系结构为x86-64。 export C…

企业级自动化测试理论(目标、框架要素、深入理解测试金字塔)

1. 自动化测试的目标 自动化测试的目标是加快研发过程&#xff0c;而不是试图省钱。 迅速检测出新版本中不稳定的变更。 迅速暴露程序回归的错误。 迅速报告问题&#xff0c; 因为这会使程序错误修改更容易。 为了达到目标&#xff0c;所需要的测试能力要求 测试技术&…