课程培训
C#及netcore培训课程

C#及.NET Core培训课程大纲

 

培训对象

  • 零基础希望进入.NET开发领域的初学者

  • 从Java/PHP等其他语言转向C#/.NET的开发者

  • 使用.NET Framework需升级至.NET Core的技术人员

  • 需要构建跨平台应用(Windows/Linux/macOS)的开发工程师

  • 计算机相关专业学生及希望系统学习.NET技术栈的职场人士

 

培训目标
使学员从零开始系统掌握C#编程语言的核心语法与面向对象编程思想;熟练运用.NET Core平台进行跨平台应用开发;掌握
ASP.NET Core Web应用构建、EF Core数据访问、依赖注入等核心技术;理解异步编程、LINQ查询等高级特性;能够独立开发基于.NET Core的控制台应用、Web API及Web应用。

 

培训内容介绍

 

一、.NET平台概述与开发环境搭建

(1).NET技术演进:.NET Framework、.NET Core、.NET 5/6/7/8的演进路线与版本差异;.NET Standard的作用与版本选择;.NET作为开源、跨平台开发框架的核心优势

(2)运行时与编译机制:CLR(公共语言运行时)的工作原理;JIT(即时编译)与AOT(预先编译)的对比;垃圾回收(GC)的基本机制。

(3)开发环境搭建:Visual Studio 2022安装与配置;Visual Studio Code的.NET开发环境配置;.NET SDK与运行时管理;创建第一个.NET控制台应用程序。

 

二、C#语言基础

(1)基础语法结构:标识符与关键字;C#程序的基本结构(命名空间/类/Main方法);代码注释规范。

(2)数据类型与变量:值类型与引用类型的核心区别;内置数据类型(整型/浮点型/布尔型/字符型);变量声明与初始化;常量与只读字段;类型转换(隐式/显式/Convert类)。

(3)运算符与表达式:算术、关系、逻辑、赋值、位运算符;运算符优先级与结合性;表达式求值规则。

(4)字符串处理:string类型的不变性;字符串常用方法(Split/Substring/Replace/Format);StringBuilder的高效字符串操作;字符串内插与格式化。

 

三、程序流程控制

(1)选择结构:if-else if-else多条件判断;switch语句的演进(模式匹配);三元运算符的应用场景。

(2)循环结构:for循环与遍历;while与do-while循环的适用场景;foreach迭代集合的优势。

(3)跳转语句:break、continue、return的使用;goto语句的限制与避免;异常处理对流程的影响。

 

四、面向对象编程基础

(1)类与对象:类的定义(字段/属性/方法);对象的创建与生命周期;构造函数与析构函数;this关键字的用法

(2)封装与访问修饰符:public、private、protected、internal的作用域;属性的get/set访问器;自动实现属性;只读与只写属性。

(3)静态成员:静态类与静态成员;静态构造函数;扩展方法的概念与实现

(4)命名空间与程序集:命名空间的组织与using指令;程序集(Assembly)的概念;类库项目的创建与引用。

 

五、面向对象编程进阶

(1)继承:派生类的定义;base关键字调用基类成员;方法重写(override)与隐藏(new);继承链中的构造函数执行顺序;密封类(sealed)与抽象类(abstract)

(2)多态:编译时多态(方法重载);运行时多态(虚方法重写);里氏替换原则(LSP)的理解与应用。

(3)接口:接口的定义与实现;显式接口实现;接口的多继承;抽象类与接口的对比与选择

(4)委托与事件:委托类型的声明与使用;多播委托;事件的定义与发布订阅模式;EventHandler与泛型委托

(5)泛型:泛型类、泛型方法、泛型接口的定义;类型参数约束(where);泛型集合的优势;泛型的协变与逆变。

 

六、数组、集合与LINQ

(1)数组:一维数组、多维数组与交错数组的创建与遍历;数组的常用属性和方法。

(2)集合框架:ArrayList、List<T>、Dictionary<TKey,TValue>、Queue<T>、Stack<T>的使用场景;可空值类型(Nullable<T>)的应用。

(3)迭代器:yield return与yield break;延迟执行与即时执行的区别。

(4)LINQ基础:LINQ(语言集成查询)的核心理念;查询语法与方法语法的对比;常用查询操作符(Where/Select/OrderBy/GroupBy/Join);LINQ to Objects与LINQ to Entities的区别。

 

七、异常处理与调试

(1)异常处理机制:try-catch-finally的执行顺序;多个catch块的处理原则;捕获特定异常类型;throw与throw ex的区别;自定义异常类

(2)调试技术:Visual Studio断点(条件断点/命中计数);监视窗口与即时窗口;调用堆栈分析;诊断工具的使用

(3)日志记录:ILogger接口的使用;Serilog/NLog等日志框架集成;日志级别与结构化日志。

 

八、异步编程与并行处理

(1)多线程基础:Thread类的使用;线程池(ThreadPool)的工作原理;前台线程与后台线程。

(2)任务并行库(TPL):Task类的创建与管理;Task<T>获取返回值;任务的延续(ContinueWith);任务等待与组合(WhenAll/WhenAny)。

(3)async/await异步编程:异步方法定义(async/await关键字);Task.Run启动后台线程;异步编程的最佳实践(避免async void/配置ConfigureAwait)

(4)并行处理:Parallel.For/ForEach并行循环;PLINQ的并行查询优化;线程同步机制(lock/Monitor/Mutex/Semaphore)。

 

九、.NET Core核心概念

(1).NET Core与.NET Framework对比:跨平台能力、模块化设计、性能优化、部署方式的差异

(2)依赖注入(DI):控制反转(IoC)与依赖注入原则;内置IoC容器的服务注册(AddSingleton/AddScoped/AddTransient);构造函数注入;服务生命周期管理

(3)配置系统:IConfiguration接口;多环境配置(appsettings.json);选项模式(IOptions<T>);用户机密管理。

(4)中间件(Middleware):HTTP请求管道的构成;自定义中间件的开发与注册;常用内置中间件的使用。

(5)日志系统:内置日志提供程序;日志级别控制;结构化日志与日志作用域。

 

十、ASP.NET Core Web API开发

(1)Web API基础:RESTful API设计原则;控制器(ControllerBase)的定义;路由配置(属性路由/约定路由);HTTP方法映射(HttpGet/HttpPost/HttpPut/HttpDelete)

(2)参数绑定与模型验证:[FromBody]、[FromQuery]、[FromRoute]的使用;模型状态(ModelState)验证;FluentValidation集成。

(3)响应处理:IActionResult返回类型;状态码与内容协商;统一响应格式设计。

(4)高级特性:版本管理(URL路径/查询字符串/Header);API文档生成(Swagger/Swashbuckle);速率限制与缓存

 

十一、Entity Framework Core数据访问

(1)ORM概念:对象关系映射(ORM)的基本原理;EF Core的体系架构

(2)数据库连接与上下文:DbContext的配置与生命周期;连接字符串管理;数据库提供程序(SQL Server/PostgreSQL/SQLite)。

(3)实体映射:数据注解与Fluent API配置;表、列、主键、索引的映射;关系配置(一对多/多对多)

(4)数据查询与操作:LINQ查询的执行机制;跟踪查询与非跟踪查询;增删改操作与SaveChanges;原生SQL查询与存储过程调用

(5)迁移管理:迁移的创建与应用;数据库更新策略;数据种子(Data Seeding)。

 

十二、Razor Pages与MVC模式

(1)ASP.NET Core MVC架构:Model-View-Controller模式详解;项目结构与启动流程;控制器与视图的协作。

(2)Razor语法:Razor标记与C#代码混合;HTML辅助方法;标签助手(Tag Helpers)的使用

(3)视图特性:布局视图(_Layout)与部分视图(Partial View);视图组件(View Component);视图数据传递(ViewData/ViewBag/TempData)。

(4)模型绑定与验证:复杂类型绑定;文件上传;客户端验证与服务器端验证集成。

 

十三、Blazor与现代Web UI

(1)Blazor概述:Blazor Server与Blazor WebAssembly的对比;组件化开发模式。

(2)组件基础:Razor组件结构与生命周期;组件参数与事件回调;数据绑定(单向/双向)。

(3)依赖注入与状态管理:Blazor中的DI使用;级联值与级联参数;状态容器设计。

(4)JavaScript互操作:JSInvokable与DotNetObjectRef;调用JavaScript函数;JavaScript调用.NET方法。

 

十四、身份认证与授权

(1)认证机制:Cookie认证与JWT认证的对比ASP.NET Core Identity集成;用户注册与登录实现。

(2)JWT认证:JWT结构(Header/Payload/Signature);令牌的颁发与验证;授权策略(Policy)与需求(Requirement)

(3)授权方式:基于角色的授权([Authorize(Roles)]);基于声明的授权;基于策略的授权;资源级授权。

(4)安全防护:防跨站请求伪造(XSRF/CSRF);SQL注入防范;跨域请求配置(CORS)

 

十五、高级主题与性能优化

(1)缓存策略:内存缓存(IMemoryCache);分布式缓存(Redis)集成;响应缓存中间件。

(2)实时通信:SignalR工作原理与WebSocket协议;Hub的定义与客户端调用;强类型Hub与组管理。

(3)gRPC集成:gRPC与HTTP/2的优势;Protocol Buffers契约定义;一元调用与流式调用。

(4)性能优化:异步编程的性能考量;对象池(ObjectPool)的应用;EF Core查询优化;响应压缩中间件。

 

十六、部署与持续集成

(1)发布与部署:dotnet publish命令;IIS部署配置;Linux守护进程(systemd)托管

(2)容器化部署:Dockerfile编写最佳实践;多阶段构建;Docker Compose编排

(3)云平台集成:Azure App Service部署;环境变量配置;应用设置覆盖。

(4)CI/CD基础:Azure DevOps/GitHub Actions的基本配置;自动化构建与测试流程

 

十七、综合实战项目

(1)项目一:待办事项API开发:项目结构与分层设计→EF Core数据模型创建→CRUD API实现→JWT认证集成→Swagger文档配置→单元测试编写。

(2)项目二:博客系统(MVC+Blazor混合):用户注册与登录→文章发布与管理→评论功能实现→实时通知(SignalR)→Blazor后台管理界面→部署到Azure。

(3)项目三:库存管理微服务:服务拆分(商品/订单/库存)→gRPC服务间通信→Redis缓存热点数据→RabbitMQ事件驱动→Docker Compose编排→Kubernetes部署准备。




如果您想学习本课程,请预约报名
如果没找到合适的课程或有特殊培训需求,请订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请

服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。

专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获
报名表下载
联系我们 更多>>

咨询电话010-62883247

                4007991916

咨询邮箱:soft@info-soft.cn  

 

  微信咨询

随时听讲课

聚焦技术实践

订制培训 更多>>