C#

本随笔为个人复习巩固知识用,多从书上总结与理解得来,如有错误麻烦指正

2020-12-03

1.方法

static void Main(string[] args)
{
float Sum(float a, float b) //定义一个方法,返回值浮点型,标识符ADD
{
return a + b;
}
float number1 = 5;
float number2 = 10; float number3 = Sum(number1, number2);//先执行sum方法再将返回值赋值给number3
Console.WriteLine(number3); //输出值 }

如果方法的参数是内置参数,则在方法内部引用的是参数的副本,方法内的运算不会影响到参数本身。如果希望在方法内改变内置类型参数值,需要添加ref或out标识符

我所学习的书中示例也是出现了另一个错误,Change中和下方定义的变量不能重复,将Change中a变为b即可解决

static void Main(string[] args)
{
void Change(ref int b)
{
b += 10;
} int a = 0;
Change(ref a);
Console.Write(a); }

也可将ref替换为out,区别是需要在方法中初始化变量再使用它

static void Main(string[] args)
{ void Change(out int a)
{
a = 0;
a += 10; } int b = 0;
Change(out b);
Console.Write(b); }

2.递归

在方法中调用当前方法叫递归

static void Main(string[] args)
{ void Print( int n)
{ if (n == 0)
{
Console.WriteLine(n);
return;
}
else
{
Console.WriteLine(n);
Print(n - 1);
}
}
int a = 10;
Print(a); }

要注意递归一定要有退出条件,输出的前后顺序也会影响输出结果,递归与普通循环相比效率更低,不适合项目,适合试题

3.条件分支语句

常使用到if,else,switch等关键词

在上面递归中就用到了if,即if后的判断为true时执行if{}里的语句,具体可以参考上面

switch语句作用与if类似,可读性更佳

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApp1
{
class Program
{
enum FRUIT
{
Apple=0,
Banana,
Cherry,
}
static FRUIT fruit = FRUIT.Apple; static void Main(string[] args)
{
switch(fruit)
{
case FRUIT.Apple: //如果fruit的值等于FRUIT.Apple
Console.WriteLine("Apple");
break;// 使用break退出 case FRUIT.Banana:
Console.WriteLine("Banana");
break; case FRUIT.Cherry:
Console.WriteLine("Cherry");
break; }
//上述语句等价于
if (fruit == FRUIT.Apple)
{ Console.Write("Apple");
}
else if (fruit == FRUIT.Banana)
{
Console.Write("Banana");
}
else if (fruit == FRUIT.Cherry)
{
Console.Write("Cherry");
}
Console.ReadKey();//按任意键退出 }
}
}

4.循环语句

while语句是一个条件循环语句,每次循环返回一个逻辑表达式值,只有表达式值为false时才会退出循环,使用时要注意不要陷入死循环

int n=0;
while(n<10) //如果n<10,则会一直循环{}中语句
{
n++; //如果n为10时退出循环
}

for语句与while类似,都是条件循环语句,不同的是,for语句可以更方便的控制循环次数

for(int i=0;i<10;i++)   //i初始值为0,i小于10会循环,每次循环加一
{
//循环10次
}

很多时候,需要在循环中直接退出或者不再执行剩下语句继续下一个循环,可以使用break和continue

int n=10;
while(true)
{
if(n==5)//当n=5时,直接退出循环
{break;}
n--;
} for(int i=0;i<10;i++)
{
if(i==5)
{continue;} //当i=5,将跳过其他代码直接下一个循环
//其他代码 }

5.三元操作符

作用与if类似,条件表达式为true执行表达式1,否则执行表达式2

//条件表达式?表达式1:表达式2
int a=50,b=100;
int max = a>b?a:b

max值为100

C#(三)基础篇—方法,递归,条件分支,循环,三元操作符的更多相关文章

  1. Python基础(6)--条件、循环

    本文的主要内容是 Python 的条件和循环语句以及与它们相关的部分. 我们会深入探讨if, while, for以及与他们相搭配的else,elif,break,continue和pass语句. 本 ...

  2. Java学习笔记之基础语法(顺序,条件,循环语句)

    顺序结构:自上而下 条件分支选择结构: if条件语句   1,一旦某一个分支确定执行以后,其他分支就不会执行.if后面的条件必须是boolean类型   2,if  后面如果不加大括号,默认相邻的下一 ...

  3. java===java基础学习(2)---运算符,三元操作符,数学函数

    主要介绍运算符,和数学函数以及三元运算符: package testbotoo; public class test1 { public static void main(String[] args) ...

  4. php面试题汇总三(基础篇附答案)

    问题 1. 如何访问会话变量(session)? A.通过$_GET B.通过$_POST C.通过$_REQUEST D.通过全局变量 E.以上都不对 2. 哪个函数能让服务器输出如下 header ...

  5. python 基础篇 16 递归和二分数查找与编码补充回顾

    编码回顾补充: 回顾编码问题:        编码相当于密码本,关系到二进制与看懂的文字的的对应关系.    最早期的密码本:        ascii码:只包含英文字母,数字,特殊字符.       ...

  6. Vue.js 源码分析(三) 基础篇 模板渲染 el、emplate、render属性详解

    Vue有三个属性和模板有关,官网上是这样解释的: el ;提供一个在页面上已存在的 DOM 元素作为 Vue 实例的挂载目标 template ;一个字符串模板作为 Vue 实例的标识使用.模板将会 ...

  7. C++面向对象高级编程(三)基础篇

    技术在于交流.沟通,转载请注明出处并保持作品的完整性. 概要 一.拷贝构造 二.拷贝赋值 三.重写操作符 四.生命周期 本节主要介绍 Big Three 即析构函数,拷贝构造函数,赋值拷贝函数,前面主 ...

  8. Vue.js 源码分析(五) 基础篇 方法 methods属性详解

    methods中定义了Vue实例的方法,官网是这样介绍的: 例如:: <!DOCTYPE html> <html lang="en"> <head&g ...

  9. NOI / 1.4编程基础之逻辑表达式与条件分支讲解-02:输出绝对值

    02:输出绝对值 总时间限制: 1000ms 内存限制: 65536kB 题目: 描述 输入一个浮点数,输出这个浮点数的绝对值. 输入 输入一个浮点数,其绝对值不超过10000. 输出 输出这个浮点数 ...

随机推荐

  1. MYSQL连接时错误码2059解决办法

     一.问题原因: 如上图的报错提示可知,报错原因是caching_sha2_password不能加载. 这是因为8.0之后mysql更改了密码的加密规则,而目前已有的客户端连接软件还不支持Mysql8 ...

  2. python爬虫爬取策略

    爬取策略 关注公众号"轻松学编程"了解更多. 在爬虫系统中,待抓取URL队列是很重要的一部分.待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,因为这涉及到先抓取那 ...

  3. [POJ 2821]TN's Kindom III(任意长度循环卷积的Bluestein算法)

    [POJ 2821]TN's Kindom III(任意长度循环卷积的Bluestein算法) 题面 给出两个长度为\(n\)的序列\(B,C\),已知\(A\)和\(B\)的循环卷积为\(C\),求 ...

  4. 微信支付特约商户进件中base64格式图片上传

    微信图片上传接口地址:https://api.mch.weixin.qq.com/v3/merchant/media/upload 1.上传方法 1 using HttpHandlerDemo; 2 ...

  5. 手机运行Linux系统,可以办公,可以上网,太爽了!

    之前用 Termux 编程一直都是在黑乎乎的命令行敲代码,有多少人知道其实可以在手机上用 Termux 构建一个包含桌面环境的 Linux 系统呢. 这个构建出的 linux 系统,可以显示出桌面,可 ...

  6. ExecutorService的invokeAny方法注意

    package com.msxf.datasource.thirdpart.service.extface; import java.util.HashSet; import java.util.Li ...

  7. git 分支合并到master

    [参考:] https://segmentfault.com/q/1010000000181403  我们一般这样:远程创建一个主分支,本地每人创建功能分支,日常工作流程如下: # 去自己的工作分支 ...

  8. 《Machine Learning in Action》—— 剖析支持向量机,优化SMO

    <Machine Learning in Action>-- 剖析支持向量机,优化SMO 薄雾浓云愁永昼,瑞脑销金兽. 愁的很,上次不是更新了一篇关于支持向量机的文章嘛,<Machi ...

  9. linux 内核 tasklets 原理以及工作队列

    如果某种应用并不需要在多个CPU上并行执行,那么软中断其实是没有必要的.因此诞生了弥补以上两个要求的tasklet.它具有以下特性: a)一种特定类型的tasklet只能运行在一个CPU上,不能并行, ...

  10. 【java从入门到精通】day-06-基本运算符-自增自减运算符

    1.运算符 java语言支持如下运算符: 算术运算符:+,-,*,/,%,++,-- 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算 ...