{{pageTitle}}

本系列课程概述 本系列循序渐进地引导学习者掌握.NET平台的各项开发技术。 学习指导

零编程基础者,请从《我的第一门编程课(C#版)》起步,每讲先看视频,之后,务必在线看一遍PPT。 PPT中将知识刷新到了 .NET Core 3,并且补充录制了一些讲解音频,是视频的重要补充。

《我的第一门编程课(C#版)》主要介绍C#编程语言,.NET基础知识及Windows Forms桌面应用开发,学完之后,请接着学习《.NET Core 软件开发技术导论与自学指南》, 此课程介绍了.NET Core平台的基础知识,并且将.NET技术最重要的领域——桌面应用开发和Web应用开发作了介绍。 掌握本门课程,是学习后继课程的基础。

《C# 11与.NET 7编程技能训练》主要介绍C#编程语言的一些新特性,这些特性是《我的第一门编程课(C#版)》所没有介绍的, 并且会随着C#新版本的发布而持续更新 特别地,本课程介绍了LINQ:语言集成的查询,它是学习《Entity Framework Core 技术精讲》专题课程的前提与基础。而这门专题课所介绍的Entity Framework Core, 是微软平台存取关系数据库的主力框架,凡是要访问关系数据库的.NET应用,都离不开它。

《.NET Core多线程开发技术入门》与《.NET并行计算与异步编程基础》是两门前后相继的进阶课程,前者介绍.NET多线程开发的基础知识与基本技能,后者则介绍“任务并行库(TPL)”和async/await异步编程模型。

想用.NET开发Web应用,请先学《.NET Core 软件开发技术导论与自学指南》,之后,再学《使用MVC和Razor Pages开发经典Web应用》,后面是《ASP.NET Core现代Web应用开发实践》。 三门课程学完,你就学会了如何使用.NET来开发一个全功能的现代Web网站了。 本教学网站也是使用此技术栈开发的。

《使用HttpClient开发互联网客户端应用》相对独立,它所介绍的HttpClient这个网络组件, 可以用于给桌面应用添加访问互联网功能, 也可以用于将现有的ASP.NET Core应用向微服务演化, 并且是BlazorMAUI应用访问后端服务的主要网络组件。

《依赖注入与IoC容器简明教程》相对独立,学习这块, 有助于理解ASP.NET Core应用中所使用的微软内置IoC容器的用法, 特别地,将本课程所介绍的内容应用于.NET桌面应用,可以开发出低耦合, 易维护的软件。另外,本课程所介绍的很多内容,其实是独立于平台与编程语言的, 它们可以平滑地移植到Spring Framework和Android的Dagger及Hilt框架的学习中。

《使用Blazor开发现代Web应用》是一门专题课,它将你的后端开发技能,扩展到Web前端,从而,让你能够使用C#一种编程语言,开发同时涵盖Web前后端的移动互联应用, 让你成长为一名.NET平台上的“全栈工程师”。
Blazor与Angular、Razor和Vue同属于Web前端技术领域,它们共享许多概念和术语,许多思想也是类似的,学好Blazor,有助你进一步地掌握Angualr、React或Vue, 反过来也是成立的。
另外,Blazor是当前少有的比较成熟的基于WebAssembly的Web前端开发框架。学好它,不仅掌握了一项实用技能,还能拓展你的视野,接触到WebAssembly这样一个 全新的技术领域。

《ASP.NET Core安全基础》是一门专题课,它主要介绍ASP.NET Core Web应用如何为各种类型的客户端, 比如Blazor应用,桌面应用,Web前端应用等提供身份认证与访问授权功能。 这块内容,是开发现代移动互联应用绕不开的,是必须掌握的开发技能。
本课程的难度较大,并且涉及到许多Web开发技术领域,建议学完本网站中有关Web前后端的各门专题课之后,再来啃这门课。

《gRPC精简教程》主要介绍当前比较引人注目的一个高效远程方法调用框架——gRPC。学习本课程,要求学习者对本系列前面的课程有基础的了解与把握。 gRPC是跨平台和语言的,Android App和PC桌面应用都可访问gRPC服务,它最常用的应用场景,是微服务。

《.NET工具箱》是一门相对独立的专题课,主要介绍各种实用的开源框架及工具,也包容.NET基类库中一些比较零散的实用组件的介绍。这些框架、工具或组件, 广泛地应用于实际开发中,其他课程的实例中也有用到,可以根据需要选学。

本网站计划后继还将上线signalR,MAUI等.NET新技术系列课程,敬请关注网站公告。

课程列表
【入门课】我的第一门编程课
(C#版,2020)

针对零基础同学,介绍C#编程语言,学习使用Windows Forms框架开发桌面应用,理解面向对象,训练编程技巧。

2020新版扩充介绍 C# 8 新特性,使用Visual Studio 2019,示例基于.NET Core 3.1

学习本课程是学会编程、进入.NET开发领域的第一步,好评如潮!

【进阶课】.NET Core 软件开发技术导论与自学指南

介绍.NET Core的基本原理与基础特性,同时介绍了.NET Core平台最主要的两种应用类型(即Windows桌面应用与Web应用)的编程模型与开发模式。

学习前提:必须掌握C#编程语言。

本课程是进一步深入学习其它.NET Core技术的起点,学完后推荐进一步学习:C# 9与.NET 5编程基础技能训练,以及本网站的其他.NET Core进阶与技术专题类课程。

【进阶课】C# 11与.NET 7编程技能训练
(.NET 7,2023)

学习本门课程,你将能使用最新的C#语法特性,写出简洁的易于维护的优质代码,同时了解.NET基类库中诸多的与数据处理相关的组件,帮助你游刃有余地开发处理各种数据的.NET应用程序。

学习前提:掌握C#编程语言与.NET Core的基础知识。

学完本课程之后,推荐进一步学习本网站的其他.NET Core技术专题类课程。

【进阶课】.NET Core多线程开发技术入门
(.NET 5, 2021)

本课程从最基础的多线程知识讲起,系统地、循序渐进地向学习者介绍多线程开发中许多极为重要的概念、术语以及相应的编程技巧。引导学习者迈入多线程开发技术的大门。

学习本课程,要求学习者己经掌握C#编程语言,并且对.NET平台有了基本了解。

本课程的先导课程:

(1) 我的第一门编程课(C#版,2020)

(2).NET Core基础入门

(3).NET Core 桌面应用开发技术基础

【进阶课】.NET并行计算与异步编程基础
(.NET 7, 2023)

本课程介绍.NET所提供的“任务并行库(TPL)” 基本工作原理及编程技巧,以及如何使用C#的async/await特性编写异步的非阻塞的编程技巧。

现代.NET应用基本上都是异步非阻塞的,因此,本课程所介绍之内容,为实际开发中所必须。

学习本课程,要求学习者已经熟练地掌握了C#编程语言,并且对.NET多线程开发技术有一定的了解。可作为本网站“.NET Core多线程开发技术入门”的后继课程。

本课程的先导课程:

(1) 我的第一门编程课(C#版,2020)

(2).NET Core 软件开发技术导论与自学指南

(3).NET Core多线程开发技术入门

【进阶课】使用MVC和Razor Pages开发经典Web应用
(.NET 5,2021)
本课程在《.NET Core 软件开发技术导论与自学指南》基础之上, 介绍如何使用ASP.NET Core MVC和Razor Pages框架开发经典Web应用。

本课程所介绍的内容,都是实际开发中所必须用到的关键技术,学会了这些,你就具备了设计与开发一个全功能Web网站的基本技能,不仅可以使用ASP.NET Core MVC或Razor Pages快速地搭建一个经典网站,而且为进一步学习集成前端开发框架的单页面现代Web应用、使用Blazor全栈开发、使用SignalR的实时Web应用开发等新技术,打下扎实的基础。

【专题课】Entity Framework Core 技术精讲
(.NET Core 3.1, 2020)

Entity Framework Core是微软平台主流的数据存取技术,本技术专题课程介绍使用它编程存取关系型数据库所必须掌握的基础知识、编程技巧和技术内幕。

Entity Framework Core可以用于.NET桌面应用与Web应用开发。使用ASP.NET Core开发的各种Web应用(比如本网站),基本上都是使用它来存取关系型数据库的。 这个数据存取框架性能卓越,开发效率很高,实为开发.NET平台应用程序必须掌握的技术。

学习前提:需要掌握C#编程语言,.NET Core基础知识,以及LINQ

后继学习路线:推荐系统学习ASP.NET Core。

【专题课】使用HttpClient开发互联网客户端应用
(.NET 5, 2021)

介绍如何使用HttpClient这一网络组件,开发访问RESTful Service的互联网客户端应用, 包括.NET Core控制台与WPF应用,以及需要集成其它互联网服务的Web后端应用。

学完本课程,学习者可以深入了解HttpClient组件技术特性,系统掌握HttpClient的各种编程技巧,将互联网功能集成到你写的.NET应用中,让你的应用 “连通世界”

本课程的先导课程:

(1) “我的第一门编程课(C#版,2020)”

(2) “.NET Core 软件开发技术导论与自学指南”

【专题课】依赖注入与IoC容器简明教程
(C#版,2022)

本课程从面向对象的基础理论起步,先引导学习者深刻理解“依赖注入”与“控制反转(IoC)”这两个在面向对象领域中极为重要的概念, 之后,以.NET平台内置的IoC容器为例,系统介绍其特性,之后,通过一个WPF桌面应用的重构过程,展示依赖注入与IoC容器给软件开发所带来的好处。

学习本课程,能将学习者面向对象编程的技能提升一个台阶,并且能系统了解.NET官方内置IoC容器的基本原理和各项技术特性,掌握各种实用编程技巧。

本课程基于.NET 6介绍,示例使用C#编程,开发环境为Visual Studio 2022

补充说明:"依赖注入与IoC容器简明教程"是一个多版本课程,包容“.NET”、“Java”和“Android”三个版本。本课程为“.NET版”。

学习前提:掌握C#编程语言与.NET平台基础编程技能。

零基础者,推荐先修:

我的第一门编程课(C#版)

.NET Core 软件开发技术导论与自学指南

【实战课】ASP.NET Core现代Web应用开发实践
(.NET 8,2024)

本课程在其他.NET课程所讲授内容与基础之上,面向实际开发,介绍那些在真实项目开发中使用到的技术。

本课程所介绍的技术,为开发真实ASP.NET Core Web应用所必须。

本课程基于.NET 8介绍,示例使用C# 12编程,开发环境为Visual Studio 2022

学习前提:掌握其它.NET系列课程所介绍的内容。

本课程等待制作中……
【专题课】使用Blazor开发现代Web应用
(.NET 8, 2024)

本课程介绍如何使用微软的Blazor框架开发现代Web应用。

Blazor App类似于Angular、React和Vue,主要特点是它使用C#而不是JavaScript来编写Web前端,并且它是当前基于 WebAssembly的Web开发框架中比较成熟与稳定的一个。

使用Blazor开发Web应用,可以很方便地重用现有.NET组件,以及使用你已经熟悉的.NET编程模式开发,同时,Blazor 不仅可以用于开发Web应用,还可以与MAUI结合,开发跨平台的本地应用(比如,可以在WinForm和WPF应用中直接集成Blazor)。

本课程的先导课程:

(1) .NET并行计算与异步编程基础

(2) 依赖注入与IoC容器简明教程(C#版)

(3) 使用MVC和Razor Pages开发经典Web应用

(4)使用HttpClient开发互联网客户端应用

【专题课】ASP.NET Core 安全基础
(.NET 8,2024)
本课程介绍开发ASP.NET Core Web应用时所必须掌握的安全知识和实用编程技巧,它们是开发现代Web应用绕不开的,必须掌握的。
主要内容包括:

(1)ASP.NET认证与授权机制原理

(2)学习与应用ASP.NET Code Identity

(3)使用JWT构建安全的Web后端应用

(4)OAuth与OpenId

本课程学习难度较大,要求学习者己经熟练掌握了ASP.NET Core的基础知识与基本编程技巧。

建议学完本网站的其他ASP.NET Core课程之后,再来学习本课程。

【专题课】gRPC精简教程
(.NET 8,2024)

gRPC是一种高效的远程方法调用框架,特别适用于微服务之间的相互调用,在内网环境下,Android App和PC桌面应用也能 方便地调用gRPC服务。

本课程介绍.NET平台上gRPC技术及其应用。示例基于.NET 8和Visual Studio 2022。

学习本课程要求熟练掌握C#和.NET基础技术,包容.NET异步编程技术和ASP.NET Core Web开发技术, 不具备这些基础的学习者,请先学习本网站上相应的.NET技术系列课程。

【专题课】.NET工具箱
(适用.NET 7以上版本)
本课程主要是介绍在实际开发中经常使用的一些第三方工具和框架,还包括.NET基类库中一些零散的 但在特定场景中很有用的组件。

学习本课程,各部分独立成篇,可以挑选感兴趣的内容直接学习。如果学习特定内容需要有先期知识作铺垫, 会在相应内容开头给出提示。

本课程采用离散迭代方式更新,将长期持续补充新内容。