C# 语言教程:从语法基础到算法实战的避坑指南

这门课实际上是一套完整的 C# 语言开发体系,覆盖了从环境搭建、语法基础到数据结构与算法的全流程。它解决的是初学者面对微软 .NET 框架时的入门障碍,以及开发者在后续工作中处理复杂逻辑和性能优化时的能力断层。资料包中包含了从 Hello World 输出到控制台交互、变量类型定义、数学运算及运算符优先级等大量实操视频,并穿插了多轮次的代码练习环节,非常适合需要从零开始构建逻辑思维的学员。

谁适合学?基础要求与前置准备

课程对学员的基础没有强制要求,资料包开头的“计算机基本知识”和"Hello World"章节就是为纯小白设计的,能帮你快速跨越编程语言的思维门槛。但如果你已有 Java 或 Python 经验,需特别注意 C# 特有的类型系统(如值类型与引用类型的区别)以及 .NET 框架的运行机制,建议先看完前几节关于标识符、Main 方法定义及字符串格式化的内容,建立语言特性的敏感度,再进入变量与运算章节,否则后期理解泛型或集合会非常吃力。

如何配合资料包进行有效练习?

不要只盯着视频看,这套资料的精华在于“学完一节立刻动手”。资料包中每几个视频就会安排一次综合练习,比如学完字符串拼接和变量赋值后,紧接着就是“定义主角信息”的案例;学完基础运算后,立即进行“输入两数求和”的实战。建议你在观看视频暂停的关键节点(如讲解运算符优先级或自增自减时),先自己在编辑器里敲代码测试,再对照视频中的结果修正错误。只有亲自把“接受用户输入”、“计算结果输出”这些逻辑跑通,你才算真正掌握了这门课的核心价值,否则看完几千个视频也只是一堆看不懂的语法。

课程目录

001 101-C#和.net框架.mp4 83.12M
002 102-编写第一个程序 Hello world.mp4 79.41M
003 103-第一个c#程序结构分析.mp4 48.16M
004 104-计算机使用的基本知识.mp4 106.38M
005 105-标识符.mp4 49.01M
006 106-Main方法,语句,块的定义.mp4 30.38M
007 107-Console.WriteLine 和Console.Write 方法.mp4 47.73M
008 108-学习如何格式化字符串.mp4 46.73M
009 109-声明第一个变量,给它赋值,并使用它.mp4 46.44M
010 110-简单类型之整数类型和小数类型.mp4 59.90M
011 111-简单类型之非数值类型char string bool.mp4 42.63M
012 112-练习 定义一些变量存储主角的信息.mp4 34.24M
013 113-字面值 转义字符.mp4 53.35M
014 114-在字符串前面加上 字符的作用和多变量声明和赋值.mp4 110.62M
015 115-数学运算符 加减乘除求余.mp4 85.36M
016 116-数学运算符更多的使用.mp4 52.17M
017 117-数学运算符 自加和自减运算符.mp4 81.40M
018 118-接受用户输入的字符串,整数和小数.mp4 67.22M
019 119-案例练习:接受用户从控制台输入的两个数字,并计算和,输出到控制台.mp4 36.96M
020 120-赋值运算符.mp4 34.24M
021 121-运算符的优先级.mp4 36.10M
022 122-练习1和2.mp4 33.04M
023 123-练习3和4.mp4 70.83M
024 124-练习5和6.mp4 62.16M
025 125-初识布尔运算(比较运算).mp4 31.68M
026 126-布尔运算符.mp4 32.92M
027 127-条件布尔运算符和取反运算符.mp4 54.70M
028 128-关于goto语句.mp4 20.50M
029 129-if语句.mp4 48.02M
030 130-if else语句.mp4 35.50M
031 131-三元运算符.mp4 32.86M
032 132-使用if else if else语句进行多条件判断.mp4 38.15M
033 133-switch语句.mp4 51.81M
034 134-while循环.mp4 39.82M
035 135-do while循环.mp4 40.07M
036 136-for循环.mp4 44.51M
037 137-循环的终止break语句.mp4 36.60M
038 138-循环的中断continue,goto和return结束循环 2.mp4 98.52M
039 138-循环的中断continue,goto和return结束循环.mp4 97.57M
040 139-练习1和2 布尔运算符和数学运算符 switch case语句练习.mp4 79.18M
041 140-练习3和4 for循环练习.mp4 68.94M
042 141-练习6和7 for循环和for循环的嵌套调用.mp4 58.32M
043 142-练习8和9 for循环的嵌套调用和随机数的生成.mp4 110.79M
044 143-练习10和11 循环结构练习,字符和字符串的处理.mp4 104.76M
045 144-练习12和13 循环练习.mp4 77.76M
046 145-显示转换和隐式转换.mp4 93.45M
047 146-枚举类型.mp4 105.36M
048 147-结构体.mp4 86.17M
049 148-数组的定义和初始化.mp4 84.07M
050 149-使用for循环,while循环和foreach来遍历数组.mp4 51.75M
051 150-字符串的处理.mp4 92.08M
052 151-练习1和2 练习for循环.mp4 68.45M
053 152-练习3和4 循环结构练习和字符操作.mp4 139.46M
054 153-练习5 对数组进行排序,Array.Sort和冒泡排序算法.mp4 139.93M
055 154-练习6和7 循环练习.mp4 81.04M
056 155-练习8 循环练习.mp4 76.66M
057 156-练习9和10 循环练习和字符串与字符的处理.mp4 100.21M
058 157-练习11和12 循环练习和字符串处理.mp4 90.02M
059 158-函数的定义和使用.mp4 100.49M
060 159-函数的定义和使用 案例学习.mp4 71.21M
061 160-参数数组-顶一个参数个数不确定的函数.mp4 74.05M
062 161-结构函数的定义和使用.mp4 69.63M
063 162-函数的重载.mp4 53.99M
064 163-委托的定义和声明.mp4 91.41M
065 164-函数的递归调用.mp4 50.89M
066 165-循环结构练习和函数练习.mp4 48.67M
067 166-练习 7 8 9 函数的递归 结构体和数学运算.mp4 85.37M
068 167-练习10和11 循环结构练习.mp4 67.69M
069 201-调试和错误处理-正常模式下的调试.mp4 50.38M
070 202-中断模式下的调试-添加断点.mp4 61.80M
071 203-中断模式下如何查看变量的值,如何修改变量的值.mp4 86.98M
072 204-错误处理(异常处理).mp4 90.07M
073 205-异常处理-案例2.mp4 69.88M
074 206-面向对象编程-定义类.mp4 96.67M
075 207-类的定义和声明.mp4 93.01M
076 208-构造函数.mp4 44.83M
077 209-属性的定义.mp4 125.40M
078 210-匿名类型.mp4 31.36M
079 211-堆和栈-程序运行时的内存区域.mp4 37.29M
080 212-值类型和引用类型 在内存中的存储.mp4 84.51M
081 213-值类型和引用类型在内存中如何存储的2-案例学习.mp4 138.63M
082 214-面向对象编程-继承.mp4 140.46M
083 215-虚方法.mp4 51.16M
084 216-隐藏方法.mp4 45.41M
085 217-this和base关键字的作用.mp4 35.05M
086 218-抽象类.mp4 63.38M
087 219-密封类和密封方法.mp4 32.54M
088 220-派生类的构造方法.mp4 58.48M
089 221-关于访问修饰符 protected和static.mp4 88.35M
090 222-定义和实现接口.mp4 58.60M
091 223-练习1-7 面向对象编程练习.mp4 71.62M
092 224-练习8-12 面向对象编程练习.mp4 97.49M
093 225-练习13-19 面向对象编程练习.mp4 67.22M
094 226-练习20-23 面向对象编程练习.mp4 37.68M
095 227-列表List的创建和使用.mp4 54.96M
096 228-关于列表的更多内容.mp4 56.68M
097 229-列表List的两种遍历方式-for循环和foreach.mp4 29.83M
098 230-操作列表的属性和方法.mp4 86.79M
099 231-泛型类的定义.mp4 51.64M
100 232-泛型方法.mp4 41.40M
101 233-创建我们自己的列表MyList-创建构造函数和Capacity Count属性.mp4 43.52M
102 234-创建我们自己的列表MyList-添加Add方法.mp4 55.69M
103 235-创建我们自己的列表MyList-添加索引器,通过索引器访问元素.mp4 72.56M
104 236-创建我们自己的列表MyList-插入元素Insert()方法.mp4 56.79M
105 237-创建我们自己的列表MyList-移除指定位置的元素RemoveAt.mp4 30.76M
106 238-创建我们自己的列表MyList-创建IndexOf LastIndexOf和Sort排序方法.mp4 80.12M
107 101-字符串类string基础使用.mp4 105.72M
108 102-字符串类string更多的方法.mp4 129.21M
109 103-字符串类StringBuilder的构造.mp4 55.78M
110 104-string和StringBuilder的区别.mp4 50.94M
111 105-StringBuilder的更多方法.mp4 33.04M
112 106-vs插件resharper的下载安装和破解.mp4 46.65M
113 107-正则表达式介绍.mp4 66.50M
114 108-定位元字符 $.mp4 41.78M
115 109-基本语法元字符.mp4 98.74M
116 110-反义字符.mp4 49.93M
117 111-重复描述字符.mp4 36.33M
118 112-择一匹配符.mp4 57.09M
119 113-对正则表达式进行分组.mp4 73.30M
120 201-委托的定义和使用.mp4 89.17M
121 202-委托的定义和使用2.mp4 51.54M
122 203-Action委托.mp4 88.53M
123 204-Func委托.mp4 61.67M
124 205-int类型的冒泡排序.mp4 82.06M
125 206-拓展的通用的冒泡排序方法.mp4 102.07M
126 207-多播委托.mp4 66.50M
127 208-匿名方法.mp4 37.41M
128 209-Lambda表达式.mp4 82.41M
129 210-事件.mp4 49.70M
130 211-观察者设计模式-猫捉老鼠.mp4 156.49M
131 212-观察者设计模式-委托与事件的区别.mp4 77.30M
132 301-数据的初始化和LINQ的第一个基础使用.mp4 134.50M
133 302-扩展方法写法.mp4 52.41M
134 303-LINQ集合联合查询.mp4 65.88M
135 304-LINQ集合联合查询-扩展方法用法.mp4 52.18M
136 305-对结果进行排序 orderby descending.mp4 59.02M
137 306-Join on集合联合查询.mp4 26.84M
138 307-对结果进行分组操作into groups.mp4 43.98M
139 308-对结果进行分组操作group by.mp4 48.83M
140 309-量词操作符 any all.mp4 27.96M
141 310-LINQ学习总结.mp4 26.84M
142 401-反射和特性-Type类.mp4 125.16M
143 402-反射和特性-Assembly程序集类.mp4 61.87M
144 403-Obsolete特性.mp4 66.09M
145 404-Contional特性.mp4 38.31M
146 405-调用者信息特性.mp4 35.75M
147 406-DebuggerStepThrough特性.mp4 40.49M
148 407-创建自定义特性.mp4 101.14M
149 501-进程和线程的概念.mp4 86.87M
150 502-线程开启方式1-异步委托.mp4 88.62M
151 503-检测委托线程的结束-通过等待句柄和回调函数.mp4 93.82M
152 504-线程开启方式2-通过Thread类.mp4 87.69M
153 505-线程的其他概念后台和前台线程 线程的优先级 线程的状态.mp4 62.83M
154 506-线程开启方式3-线程池.mp4 49.17M
155 507-线程开启方式4-任务.mp4 43.87M
156 508-任务的其他知识.mp4 47.41M
157 509-线程问题-争用条件和死锁.mp4 104.34M
158 601-socket编程-tcp服务器端.mp4 157.61M
159 602-socket编程-tcp客户端.mp4 128.57M
160 603-unity聊天室-创建tcp服务器端.mp4 63.42M
161 604-unity聊天室-创建unity客户端,开发建立连接的代码.mp4 62.12M
162 605-unity聊天室-客户端发送消息到服务器端.mp4 121.92M
163 606-unity聊天室-在服务器端广播消息到客户端.mp4 123.59M
164 607-socket编程-udp服务器端.mp4 69.42M
165 608-socket编程-udp客户端.mp4 79.86M
166 609-socket编程-udp和tcp协议的区别.mp4 57.49M
167 610-tcplistener.mp4 94.97M
168 611-tcpclient.mp4 63.19M
169 612-udpclient.mp4 73.01M
170 701-文件操作-查看文件属性FileInfo.mp4 118.97M
171 702-文件操作-文件夹操作DirectoryInfo.mp4 47.34M
172 703-使用File读写文件.mp4 107.97M
173 704-使用FileStream读写文件.mp4 171.11M
174 705-使用StreamReader和StreamWriter读写文本文件.mp4 105.47M
175 801-第一个xml文档示例.mp4 46.89M
176 802-xml文档规则,手写一个xml文档.mp4 72.68M
177 803-xml文档解析.mp4 136.06M
178 804-案例2-xml文档解析技能信息.mp4 110.01M
179 805-json介绍.mp4 59.10M
180 806-通过json官网json.org进一步学习json.mp4 58.48M
181 807-书写json文本,引入json库文件.mp4 70.89M
182 808-使用JsonMapper解析json数据.mp4 67.98M
183 809-使用JsonMapper跟泛型解析json.mp4 118.83M
184 810-json校验和json在线编辑器-bejson.mp4 31.30M
185 811-Excel操作.mp4 137.60M
186 101-数据结构介绍.mp4 83.38M
187 201-线性表介绍List-T.mp4 64.20M
188 202-定义线性表的接口.mp4 70.37M
189 203-实现顺序表添加和得到功能.mp4 62.70M
190 204-实现线性表的其他功能和测试.mp4 79.42M
191 205-实现单链表的节点类.mp4 73.61M
192 206-实现单链表的添加和插入操作.mp4 97.73M
193 207-实现单链表的其他功能和单链表的测试.mp4 76.60M
194 208-双向链表和循环链表.mp4 29.14M
195 301-栈的介绍和BCL中的栈.mp4 88.63M
196 302-实现顺序栈.mp4 76.27M
197 303-实现链栈.mp4 108.49M
198 304-队列的介绍和BCL中的队列.mp4 87.57M
199 305-队列接口创建.mp4 51.21M
200 306-顺序队列的实现1.mp4 54.55M
202 308-链队列的实现.mp4 80.52M
203 309-栈和队列应用举例.mp4 36.52M
204 401-实现字符串类的存储,构造和比较.mp4 114.78M
205 402-字符串类的实现.mp4 96.34M
206 403-数组.mp4 80.55M
207 404-练习题.mp4 76.12M
208 501-排序介绍.mp4 56.14M
209 502-直接插入排序.mp4 83.09M
210 503-简单选择排序.mp4 64.43M
211 504-快速排序的思想.mp4 79.44M
212 505-快速排序的思想2.mp4 55.33M
213 506-快速排序的代码实现.mp4 131.10M
C#语言教程(初级+中级+高级+数据结构算法)/
003 103-