视频讲座
2515:04 11..Net全套就业视频教程之WindowsPhone开发
9..Net全套就业视频教程之在线图书商城项目
1446:354..Net全套就业视频教程之Javascript基础加强
1793:002..Net全套就业视频教程之数据库开发及ADO.NET
3635:101..Net全套就业视频教程之DotNet基础加强
115:39亲情奉献全套精品.Net基础视频教程之17-委托、XML
211:27亲情奉献全套精品.Net基础视频教程之16-基础加强总复习
1244:53亲情奉献全套精品.Net基础视频教程之(11-15)
2168:36亲情奉献全套精品.Net基础视频教程(1-9)
67:15:29 c# 从入门到入土 c井(黑马.NET基础1-17)
----------------------------------------------------
笔记
第一个程序
![](https://i-blog.csdnimg.cn/blog_migrate/6663e4e941bad8c78e1c282f0fd50e9b.png)
注释
![](https://i-blog.csdnimg.cn/blog_migrate/67166e7b3e2c7d251bf4ec5b571ebf69.png)
![](https://i-blog.csdnimg.cn/blog_migrate/75ca32665cf2beb55650b73f83d95e30.png)
VS常用快捷键
![](https://i-blog.csdnimg.cn/blog_migrate/f63464360019caa6d217bb3ee7cf3301.png)
变量和类型
参见https://docs.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/types-and-variables(微软官方)和https://www.runoob.com/csharp/csharp-variables.html
数据类型
见https://www.runoob.com/csharp/csharp-data-types.html
值类型https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/builtin-types/value-types
值类型可以是以下种类之一:
可为 null 值类型 T?
表示其基础值类型 T
的所有值及额外的 null 值。 不能将 null
分配给值类型的变量,除非它是可为 null 的值类型。
内置值类型
C# 提供以下内置值类型,也称为“简单类型” :
引用类型https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/reference-types
下列关键字用于声明引用类型:
C# 也提供了下列内置引用类型:
指针类型https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/unsafe-code-pointers/pointer-types
指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。
声明指针类型的语法:
type* identifier;
例如:char* cptr; int* iptr;
声明变量
![](https://i-blog.csdnimg.cn/blog_migrate/f17e7bfdb446b1412fdb38b551f661b0.png)
变量命名及规范
运算符
见https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/(微软官方)和https://www.runoob.com/csharp/csharp-operators.html
- 算术运算符: + - * / %
- 关系运算符: == != > < >= <=
- 逻辑运算符: && || !
- 位运算符: & | ^(异或) ~(取反) <<(左移) >>(右移)
- 赋值运算符: =赋值; (操作符)=完成操作再赋值(例如+=即加且赋值)
- 其他运算符: sizeof() typeof() &(取地址) *(指针) ?:(三目运算符) is(判断对象类型) as(强制转换)
转义符
见https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/character-escapes-in-regular-expressions(微软官方)或https://www.runoob.com/csharp/csharp-regular-expressions.html
类型转换
自动类型转换-隐式转换
例如
强制类型转换-显式转换
![](https://i-blog.csdnimg.cn/blog_migrate/578de776dec56a7a656cff0ac9fbfc2d.png)
下例 n1/n2=3而不是3.33333...,因为n1和n2都是整数
如果想得到 n1/n2=3.3333...,那么给n1或n2乘以1.0转换为double即可:
如果想保留两位得到3.33的话,占位符可指定格式{0:0.00}:
Convert转换
类型兼容的变量,double转int, int转double,可以使用自动类型转换或者强制类型转换.
类型不兼容的变量,例如string转int或string转double(无法使用自动或强制转换),可以使用Convert类转换.
Convert类见微软官方https://docs.microsoft.com/zh-cn/dotnet/api/system.convert?view=netframework-4.8
下例将string转换为double:
算术运算符和复合赋值运算符
关系运算符和布尔类型
逻辑运算符
运算符优先级
运算符优先级表(下表按最高优先级到最低优先级的顺序列出 C# 运算符。 每行中运算符的优先级相同)
运算符 | 类别或名称 |
---|---|
x.y、x?.y、x?[y]、f(x)、a[i]、x++、x--、new、typeof、checked、unchecked、default、nameof、delegate、sizeof、stackalloc、x->y | 基本 |
+x、-x、!x、~x、++x、--x、^x、(T)x、await、&x、*x、true 和 false | 一元 |
x..y | 范围 |
x * y、x / y、x % y | 乘法 |
x + y、x – y | 加法 |
x << y、x >> y | 移位 |
x < y、x > y、x <= y、x >= y、is、as | 关系和类型测试 |
x == y、x != y | 相等 |
x & y | 布尔逻辑 AND 或按位逻辑 AND |
x ^ y | 布尔逻辑 XOR 或按位逻辑 XOR |
x | y | 布尔逻辑 OR 或按位逻辑 OR |
x && y | 条件“与” |
x || y | 条件“或” |
x ?? y | Null 合并运算符 |
c ? t : f | 条件运算符 |
x = y、x += y、x -= y、x *= y、x /= y、x %= y、x &= y、x |= y、x ^= y、x <<= y、x >>= y、x ??= y、=> | 赋值和 lambda 声明 |
此表来自微软官方https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/