【笔记】C#学习笔记
前言
C#学习笔记
代码结构
- 命名空间名为大坨峰命名
- 类名为大坨峰命名
- 文件名通常是类名,但是如果不是类名也能正常运行,不会报错
1 | using 命名空间名.类名; |
注释
1 | // 单行注释 |
文档注释
定义在类上
1 | /// <summary> |
定义在方法上
1 | /// <summary> |
变量
声明变量
1 | 数据类型 变量名; |
定义变量
- 整型数据可以为浮点型数据赋值
- 浮点型数据不可以为十进制数据赋值
1 | 数据类型 变量名 = 值; |
定义多个变量
1 | 数据类型 变量名 = 值, 变量名 = 值; |
定义和声明多个变量
1 | 数据类型 变量名 = 值, 变量名 = 值, 变量名; |
允许可能出现的null值传递
1 | 数据类型? 变量名 = null; |
数据类型
整型
byte
1 | byte n = 0; |
short
1 | short n = 0; |
int
1 | int n = 0; |
long
1 | long n = 0; |
浮点型
float
1 | float n = 0.0F; |
double
1 | double n = 0.0; |
十进制类型
decimal
- 范围[-7.910^28,7.910^28]
1 | decimal n = 0.0M; |
布尔类型
1 | bool n = true; |
1 | bool n = false; |
字符类型
string
1 | string n = "字符串"; |
格式化字符串
1 | string n = $"{变量名}"; |
原始字符串
- 由成对的三个及以上双引号组成的字符串为原始字符串
1 | string n = """字符串"""; |
1 | string n = """"字符串""""; |
- 原始字符串可以包含换行信息,以结尾的引号作为行开头
1 | string n = """ |
- 原始字符串也可以使用格式化字符串
1 | string n = $"""{变量名}"""; |
- 原始字符串可以直接存放JSON格式的字符串
1 | string n = """ |
- 在JSON格式的字符串中使用格式化字符串,需要使用
$$标记,变量需要用{{}}标记
1 | string n = $$""" |
char
1 | char n = '字'; |
空类型
1 | string = null; |
值类型和引用类型
- 值类型
- 整型数据
- 浮点型数据
- bool
- char
- 引用类型
- 内置引用类型数据
- dynamic
- object
- string
- 自定义引用类型数据
- class
- interface
- delegate
- record
- 内置引用类型数据
运算符
算术运算符
+、-、*、/、%
按位运算符
&、|、<<、>>
比较运算符
==、!=、>、<、>=、<=
逻辑运算符
&&、||、!
赋值运算符
=
自增自减
++、--
三目运算符
- 如果
x为true则返回y,否则返回z
1 | x?y:z |
is
x的类型如果是T则返回true,否则返回false
1 | x is T |
as
x的类型如果是T则返回转换为T类型的x,否则返回null
1 | x as T |
??
- 如果
x的值不为null,则返回x的值 - 如果
x的值为null,则返回y的值
1 | x ?? y |
分支语句
if
单重判断
1 | if (条件) |
双重判断
1 | if (条件) |
多重判断
1 | if (条件1) |
嵌套判断
1 | if (条件1) |
switch
1 | switch (表达式) |
循环语句
for
1 | for (int i = 0; i < 10; i++) |
while
1 | while(条件) |
do…while
1 | do |
控制台输出
1 | Console.WriteLine(数据); |
窗口输出
- 只能输出字符串
1 | MessageBox.Show("数据"); |