av28779788?p=24视频学习笔记
- 当前为-->第二部分:C#基础

简介



以上展示命名空间-类-方法-语句的层次.

以上是VS常用快捷键





变量






数据的基本运算

运算符











如上decimal类型变量赋值必须给数字后加m;

如上float类型变量赋值必须给数字加f.

如上使用占位符示例:{0}指第1个变量;{1}指第2个变量;...依此类推


基本数据类型转换






如上是正确示范.

如上是一种错误示范.

以上示范region/endregion用途.



如上例,byte(1个字节)可正确隐式转换为int4个字节),因为int是4个字节,当然可以容纳1个字节的byte.
而int(4个字节)无法隐式转换为byte(1个字节),即无法执行byte b4=i4;因为byte1个字节,容纳不了4个字节int.
因此字节多的int转换为字节少的byte,必须使用强制转换,形如:byte b4=(byte)i4;
★但是,最终结果却可能不是程序员想要的结果,请看:

如上,语句执行未出错,正确通过.但byte类型的b4值最后为44!为什么是44(程序员不希望的结果),而不是300(程序员希望的结果)?
因为int i4=300, 300二进制表示为1 00101100。byte只能容纳1个字节即8位,计算机则取最右边的8位二进制数字,结果为00101100。
而00101100即十进制数字44!因此语句执行完毕后byte类型b4最终等于44.
所以我们要了解计算机工作原理.此处程序语句代码执行完全没有报错,但是数字44却不是程序员想要的结果(而是计算机想要的结果).编写代码应谨慎处理这种隐患!
再看隐式转换的例子:

因为number01,number02类型不同.当多种类型变量参与运算,系统隐式将结果提升为精度大的类型:
隐式转换规则已在前面幻灯片出现过,不赘述.
可更改为如下两种:

语句
代码块与作用域




选择语句

单分支if语句:判断条件成立执行指定结果.


双分支if else语句:条件判断后只会从真/假2个结果择一.


多分支if...else if...else if...else if(可重复)...语句:有分支的if语句



举例:

如上代码,当用户通过readkey语句输入1个字符储存到string变量sex中,.如果为"男"则输出"您好,先生!";如果为"女"则输出"您好,女士!";其他则输出"性别未知!"
练习:

练习代码:



注意:float Result定义时必须赋个初值..
为了优化性能可以把逻辑判断部分换为如下代码:

注意:使用if...else if...语句时,当满足其中之一条件,计算机执行相应语句后,就会跳到if...else if...语句块的后面,比使用多个if语句效率高.因为使用多个if语句时,即使其中1条if语句已满足条件判断,可是每个if语句还是都要判断.我们应该养成良好的习惯使用if...多else if语句,而不是使用多个单if语句.
此处单if语句出现4次,还不算浪费性能.但是假设使用这4条单if语句作为逻辑判断和使用if多else if语句逻辑判断这两种代码各自循环上百万千次,一对比就会发现严重浪费计算机CPU的资源!!!如果重复上亿次会发现更是浪费!计算机语句性能的优化必须从养成良好的习惯开始.
如果if/elseif/else的执行语句只有一条语句,也可以省略大括号,这样写:
注意:省略大括号的情况仅限于只有一条执行语句.
Switch Case多分支选择语句



把上节练习中使用if语句进行逻辑处理的部分替换成switch...case...语句:



Switch语句和if语句比较:Switch语句比if语句可读性强.但是case里只能放常数值,不能放表达式,不能放浮点数等.因此if语句比switch语句更强更灵活.原则上:能用switch语句解决的就用switch语句,否则只能用if语句.
循环语句

循环结构


for循环



不会循环语句时,想输出五行相同语句,我们只能:

会了循环语句时,只要简简单单几句即可完成相同效果:

练习:
结果为:
注意常识勘误:本练习仅为演示for循环.现实中纸只能折7-8次.爱折腾的人在极限情况下用4公里长的纸对折13次.如果纸无限长且可以折叠到100次(此时纸张厚度930亿光年),将占满一个宇宙(宇宙直径约914亿光年左右).
练习:1+到100的和?有了循环语句再也不用写100条加法语句了,只需简简单单的写:
注意:如上简单几条循环语句,并不能省略实际加法次数.sum的累加循环执行了100次!和我们手写100条累加语句差不多.事实上,比我们手写累加100条语句还耗费了点资源,因为还要执行1次i=1,100次i++和100次i<=100的判断.等于比手写100次累加语句多了201条指令.但这特么是值得的!因为你不可能手写累加100次!
假如循环是1亿次,你总不能为了省略1亿次i++,1亿次i<=1亿的判断而去手写累加1亿次sum吧?
while循环



示例输出5次老田:



示例练习:




也可以把do-while循环换成while循环:

流程跳转




本教程深入讲解C#编程基础,包括变量、数据类型、运算符、类型转换、语句、代码块、作用域、选择语句、循环语句等核心概念。通过实例演示if语句、switch case语句及for、while循环的使用,帮助初学者快速掌握C#语法。

被折叠的 条评论
为什么被折叠?



