《C#本质论》
本文档将和《C#图解教程》的读书笔记融合
C# 快速笔记
-
static 关键字的变量是整个类都可以访问的,譬如声明了一个Cat类,通过 static int sum,在每次Cat声明时,都sum++,就可以统计出一共创建了多少个Cat对象。 譬如 static 方法,Console.WriteLine(),也是static方法,使用WriteLine并不需要创建一个Console实例,直接使用点方法即可。
-
编译:高级语言,汇编语言(操作寄存器),机器指令(010101)
-
关键字
-
变量命名,不能关键字,不能数字开头
-
命名规范:变量名,小写开头,小驼峰intStr;类名,大写开头,大驼峰Console;
-
存储单位:1b = 1 Bit,1Byte = 8bit,1k=1024,1KB = 1024B,进制2的10次方
-
int 4B,表示范围
-
(无符号 unsigned)uint 4B 表示范围
-
float 4B,6-9位数字
-
double 8B,15-17位数字
-
bool
-
char 2B,单个字符
-
string
-
IndexOf("llo"),查找llo索引
-
Replace("a","b"),把a替换为b
-
Substring(first,second),截取两个索引的子字符串
-
-
-
类型转换:
-
显示类型转换:(int)
-
隐式类型转换:float转double,不用打括号告诉类型
-
字符串和数值转换
int valInt3 = int.Parse(valStr2);
-
-
自增
-
csha
int a = 4; int b = a++; // b = 4, a = 5; a = 4; int b = ++a; // b = 5, a = 5;
-
-
字符串格式化
-
string str1 = inputStr + "计算结果: " + result;
string str2 = $"{inputStr}的计算结果:{result}";
-
枚举 Enum
enum EGenderType{
Male = 0,
Female,//从上到下,依次为1,2,3
Other = 3 //本应该
}
switch(gender){
case EGenderType.Male: Console.WriteLine("男");break;
case EGenderType.Female: Console.WriteLine("女");break;
case EGenderType.Other: Console.WriteLine("朋友");break;
}
中断 Continue Break
continue :停止当前代码块,进入下一次循环。
break:停止当前循环,进入循环后的下一条语句。
循环 Do While
先执行语句块再进行条件判定
int i = 0;
do{
Console.WriteLine("i="+i);
i++;
}while(i<3);
//output: i = 0, i = 1, i = 2;
ref 变量可以在函数内被修改
int TestRef(int incVal, ref int decVal){
decVal--;
return incVal + 1;
}
int val1 = 0; int val2 = 3;
int val3 = TestRef(val1, ref val2);
// val2 = 2; val3 = 1;
// 在变量面前添加 ref,传进去的是变量在内存中的地址。
类 Class
const常量,运行时不能更改其值。
构造函数,this.age 访问成员中的变量。
成员函数
属性Property,看起来像变量的函数