文章目录
1.底层实现
-
源代码需要进行二次编译才能执行。
源代码→MSIL(中间语言)→机器代码 -
NET Framework包含以下两个主要组件:公共语言运行时(common language runtime,CLR)和.NET Framework类库集(FCL)
2.语法
- 每个语句
;
结尾 - 大小写敏感
- 注释:
//
、/**/
3.数据类型
3.1. 数据类型
注意:
- 都以小写字母开头。
float a = 3.2F;
和double b = 3.2D;
(double b = 3.2;
)string
而不是String
,''
(只用于单个字符)和""
(字符串)不可通用。bool
而不是boolean
。
3.2. 类型转换
- 数字类型之间:
// 隐式转换
int a = 3;
float b = a;
Console.WriteLine(b);
// 强制转换
float c = 3.2F;
int d = (int)c;
Console.WriteLine(d);
- 数字类型和字符串类型:
int a = 1;
float b = 2.1F;
double c = 3.14;
// 数字类型→字符串类型
string str_a = a.ToString();
string str_b = b.ToString();
string str_c = c.ToString();
// 字符串类型→数字类型1
int a2 = int.Parse(str_a);
float b2 = float.Parse(str_b);
double c2 = double.Parse(str_c);
// 数字类型→字符串类型2
int a3 = Convert.ToInt32(str_a);
double c3 = Convert.ToDouble(str_c);
// int d = Convert.ToInt32(str_c); //不能直接由字符串类型(内容double)→int
int d = Convert.ToInt32(c3);
int a = 1;
float b = 2.1F;
double c = 3.14;
string str = "" + a + " " + b + " " + c; // 开头加空格,以开头为后面要转换的类型
string str2 = string.Format("{0} {1} {2}", a, b, c);
// string str4 = string.Format("{} {} {}", a, b, c); // 不能自动匹配
string str3 = $"{a} {b} {c}"; // 推荐
3.3. 两个数据基本类别
3.3.1. 介绍
- 值类型:表示实际数据,直接存储值
- 引用类型:存储数据的地址
e.g.1:值类型不改变
e.g.2:引用类型改变了
3.3.2.转换
object
关键字。
3.3.3.类似C++的&
(1)ref
关键字
ref 参数的变量必须最先初始化,e.g.下图的int score = 55;
(2)out
关键字
out 参数的变量不强制要求初始化,e.g.下图的int scoreResult;
4.变量名和常量命名
4.1. 变量
4.2. 常量
加个const
关键字。
PS:常量定义的同时必须赋初值。
5.运算符
5.1.算术运算符
注意:允许++
、--
操作符。
5.2.逻辑运算符
5.3.比较运算符
注意:判断string
字符串
// a.Equals(b)
if (color.Equals("Blue"))
5.4.快捷运算符和三元运算符
5.5.优先级
6.逻辑
6.1. if
6.2. switch
switch (int / char / string表达式)
{
case 常量表达式1:
语句1;
break; //必须有
case 常量表达式2:
语句2;
break; //必须有
default:
语句n;
break; //必须有
}
注意:允许string
字符串
6.3. 循环
foreach (数据类型 元素(变量) in 集合或者数组)
{
语句
}
7.控制台输入输出
XXX = Console.Read();
XXX = Console.ReadLine();
Console.Write("提示");
Console.WriteLine("提示");
8. 数组
int[] array = new int[100]; // 默认值0
int[] array2 = new int[5] { 0, 1, 2, 3, 4 }; // 指定长度初始化
int[] array3 = new int[] { 0, 1, 2, 3, 4 }; // 省略长度初始化
int[] array4 = { 0, 1, 2, 3, 4 }; // 只是省略new
// 都是0
foreach(int k in array)
{
Console.WriteLine(k);
}
Console.WriteLine(array2[0]);
Console.WriteLine(array3[0]);
Console.WriteLine(array4[0]);
Console.Read(); // 暂停
// 访问元素
int k = arrray[i];
// 长度
int length = array.Length;