//附加
//C#源码,被C#编译器,编译成执念代码(IL)
//int16=short.....±32000
//int32=int.......±21亿
//int64=long......±922亿亿3372万亿
//IndexOf()...LastIndexOf...返回若为-1,没有找到
//强制转换...parse.....convert...()
//加号在遇到字符串的时候表示拼接
//一个等号是赋值号
//两个等号是真正的等号
//Datime类,值类型...因为有加减运算
//Decimal d = 3.14m;//在写代码时,默认输入小数为double类型,必须加后缀m/M
//float f = 3.14f;
//分支语句中,switch case
//switch case可以直接转换为if else的形式
//if else的不可能全部都可能转换为switch case
//switch 后面的括号不接受小数类型的值
//case后面的值必须是常量或常量名,不能是变量
//const int a = 2;
//变量名命名规则
//A-Z...a-z...0-9..._...组成
//数字不能放在开头位置
//变量名中间不允许有空格
//变量名不能使用关键字:int true break for class//要想使用可在后面加数字
//数组...引用类型
//语句的分类
//顺序语句,选择语句,循环语句
//选择:if(){}
// if(){}else{}...二选一
//if (){}else if (){}else{}...多选一
//if的嵌套......在大的环境下包含小的情况
//switch (){case...每一个case都需要有break}
//循环语句
//for(){}......初始条件,循环条件,循环体,状态改变
//while(){....状态改变}
//do while()..............先执行一遍,然后再看满不满足
//循环解题类型:穷举和迭代
//穷举:把所有情况都走一遍,使用if筛选出所满足条件
//迭代:根据结果不断求解中间情况,直至得到初始结果
//索引从0开始
//截取字符串Substring(a)从a索引开始截取,一直到结束
//Substring(a,b)从a索引开始截取,截取b个长度
//判断是否包含......contains()...bool类型//返回值是true/false
//也可以用IndexOf或者LastIndexOf...返回值为-1表示没有
//Math
//取四舍五入Round
//特殊情况:在奇数.5的情况下取上线Ceilling,偶数.5取下线Floor
//数组
//索引从0开始
//一维数组,看成一行
//二维数组,表格样式
//三位数组,楼房
//冒泡排序,for循环嵌套
//函数
//1.void HS(){}...无返无参
//2.void HS(int a){}...无返有参
//3.int HS(){return 1}...有返无参//return只能返回一个值
//4.int HS(int a){return 1}...有返有参
//5.out...可以取回多个值
//传值,只将这个变量的值给拿走,不返还,除非return赋值。
//将a的值传入函数,无论这个值在函数中如何变化,不会影响main中的a
//传址,将这个变量的值拿走运算,完成后还是得返还回来(不用return,用out)
//将a的值传入函数,函数中这个值如何变化,main中的a也会跟着变化
//相当于:函数中的这个值,是main中这个a的快捷方式