学 C#: .NET 编程 应用图标

学 C#: .NET 编程

教育 · 免费 · iOS & Android · CoddyKit

学 C#: .NET 编程 — 一门配备在线编译器的 C# 编程课程,从 Console.WriteLine 学到 API

学 C#: .NET 编程 是一门面向初学者、学生和在职开发者的 免费 iOS 和 Android C# 编程课程,包含 93 门课程,带你从第一个 Console.WriteLine 一直学到 LINQ、Entity Framework Core 和 ASP.NET Core minimal APIs。你可以在内置编辑器中编写代码,通过 在线 C# 编译器运行代码,无需安装任何软件,还能向人工智能导师咨询编译器错误。

App Store — 免费下载Google Play — 免费下载
价格
免费,可选 Pro
平台
iOS 和 Android
语言
22
年龄分级
4+
App Store
4.1 ★ (9)
Learn C# 应用中的编程挑战界面显示可用 C# 课程和主题的课程列表界面
93课程,级别从 A1 到 C2
编译器在内置编辑器中运行 C#
实验室C# 实验室
从 Console.WriteLine 到能够响应真实请求的 minimal API。

这就是课程内容的实际跨度:不是一条漫长的入门路线,而是 93 门课程,让你通过按顺序排列、每门都能单独完成的学习步骤,逐步走过从第一个程序到可用 ASP.NET Core endpoint 的距离。

这是什么

学 C#: .NET 编程 是一款适用于 iOS 和 Android 的免费教育应用,课程体系包含 93 门课程和 340+ 节课程,覆盖 C# 编程和 .NET 生态系统:从第一个程序,到面向对象设计、generics 和 LINQ,再到使用 ASP.NET Core 和 Entity Framework Core 构建 web APIs。你可以在内置 C# 编辑器中编写代码,并通过应用内的在线 C# 编译器运行,无需安装 IDE 或 SDK;人工智能导师会用通俗易懂的英语解释编译器错误和 .NET 特有的概念。

应用内

界面展示

Learn C# 应用中的编程挑战界面
挑战独立于 93 门课程体系的编程挑战。
显示可用 C# 课程和主题的课程列表界面
课程93 门课程,从最初的语法一直讲到 ASP.NET Core API 和 Entity Framework Core。
应用内显示 C# 代码的代码编辑器界面
编辑器在内置编辑器中编写 C#,并通过在线编译器运行——LINQ 查询或泛型方法会返回真实结果。
显示学习进度和继续学习位置的主界面
首页显示你在课程体系中上次学到的位置,以及帮助你持续学习的连续学习天数。
显示简短 C# 讲解及下方练习的课程界面
课程每节课讲解一个 C# 或 .NET 概念,逐步构建该模块对应的课程。

课程

C# 课程涵盖的内容

应用自有课程体系中的 93 门课程,级别从 A1 到 C2——从第一个程序一路学到 ASP.NET Core APIs、Entity Framework Core 和分布式缓存。

  1. 第一个程序与核心语法

    分为两部分的 C# 编程入门、CLR/.NET runtime 和 dotnet CLI,以及基本类型和变量——这是后续每门课程默认你已经掌握的基础。

  2. 运算符、控制流与日常数据处理

    运算符和表达式、使用 var 和 dynamic 进行类型推断、字符串格式化与插值、枚举、数组、foreach 迭代模式、方法和参数,以及用于组织代码的 namespaces。

  3. 类、对象与核心 OOP

    properties 和 indexers、构造函数和对象初始化器、tuples 和 deconstruction、collections(List、Dictionary、HashSet)、面向对象编程基础、继承与抽象,以及通过 mini shape-library project 学习 structs、records 和 enums。

  4. 现代 C#、错误处理与应用配置

    nullable reference types、records 和不可变数据、异常与资源安全、configuration 和 options pattern、NuGet packaging,以及面向真实应用的诊断与 logging。

  5. Generics、LINQ 与 .NET 基础

    generic constraints 和 methods、switch expressions 和 pattern matching、LINQ 基础与 filtering、delegates、lambdas 和 events、dependency injection、Entity Framework Core 基础,以及 unit testing 基础。

  6. 使用 ASP.NET Core 构建 Web APIs

    ASP.NET Core minimal APIs、middleware 和 request pipeline、background services 和 workers、用于实时通信的 SignalR、Blazor components、gRPC、JWT authentication 和 authorization policies,以及使用 OpenAPI 进行 API versioning。

  7. 生产模式:缓存、弹性与验证

    rate limiting 和 output caching、FluentValidation 和 model validation、使用 Polly 实现 resilience,以及使用 Redis 实现 distributed caching——这是可运行的 API 与能够承受真实流量的 API 之间的那一层。

  8. 高级 C# 与专业 .NET 模式

    expression trees、高级 LINQ 和 EF Core queries、高级 async patterns、Native AOT、使用 MediatR 的 CQRS、OpenTelemetry observability、使用 MassTransit 的 message queues、Span<T> 和 memory、reflection 和 attributes,以及 source generators。

工作原理

C# 课程如何安排顺序

93 门课程,先学语言,再学构建于其上的 frameworks——先学 LINQ,再学 Entity Framework Core;先学 async/await,再学 ASP.NET Core。

  1. 先完成语言学习,再学习 frameworks

    课程的前三分之一专注于 C# 本身——types、control flow、classes、generics 和 LINQ——暂时不会涉及 ASP.NET Core 或 Unity。这样的顺序是经过刻意安排的:很多 framework 教程之所以让人困惑,真正原因在于对其底层语言不熟悉。

  2. 在内置编辑器中运行每一道练习

    每门课程的练习都在内置 C# 编辑器中编写,并通过应用的在线编译器运行,因此你需要网络连接,但无需安装任何软件。无论是 generics constraint 还是 LINQ query,要么成功运行并返回正确输出,要么抛出真实的编译器或 runtime error,供你逐步排查。

  3. 掌握基础后,向 APIs、桌面应用或 Unity 分流

    过了课程中点后,学习路线会分为 ASP.NET Core web APIs、桌面应用课程,以及 Unity scripting 所依赖的 OOP 基础。接下来选择哪些课程,可以根据你实际想要构建的三类项目中的任意一种来决定。

包含内容

应用包含的内容

93

课程,级别从 A1 到 C2

93 门课程和 340+ 节短小课程,从第一个 Console.WriteLine 一路学到 generics 和 LINQ,再到 ASP.NET Core APIs、Entity Framework Core,以及 resilience 和 distributed caching 等生产模式。

编译器

在内置编辑器中运行 C#

在内置编辑器中编写代码,并通过应用的在线 C# 编译器运行。无需安装 IDE 或 SDK,LINQ 查询或泛型方法会返回真实结果,而不是选择题式的猜测。

实验室

C# 实验室

20 个带隐藏测试的代码练习、一个使用 Console.ReadLine 读取输入的控制台实验室、LINQ Playground、每日 Debug Duel,以及包含泛型、LINQ 和 async 评分模拟题的面试模拟器,另有 20 个引导式项目。

AI

面向 .NET 概念的 AI 导师

无论是晦涩的编译器错误、可空引用警告,还是想知道依赖注入为何会以某种方式解析服务,都可以提问,并获得通俗易懂的回答。

API

Web API 课程体系

专门讲解 ASP.NET Core minimal APIs、中间件、JWT 身份验证、速率限制和 Redis 缓存的课程——这是大多数 C# 入门材料跳过的后端部分。

证书

挑战与证书

与其他学习者比较成绩的编程挑战,独立于按顺序学习的课程体系;完成最终考试后可获得带验证码的证书。此外,每门课程结束时还会有测验和编程挑战。

背景

除了“它是 Microsoft 的语言”之外,C# 到底用于构建什么?

C# 是一种强类型编译语言,运行于 .NET 之上,而 .NET 是 Microsoft 的运行时和标准库。在实际应用中,它覆盖三类截然不同的工作:Unity 使用 C# 作为脚本语言,支持大量商业游戏;.NET 上的 ASP.NET Core 用于构建许多生产系统背后的 web APIs 和后端服务;WPF、WinForms 和 MAUI 则使用它来开发桌面应用和跨平台应用。一门语言,三个方向——这正是 C# 课程最终必须分流,而不能始终停留在单一路线上的原因。

.NET 与 C#语言与平台

C# 是你编写的语法;.NET 则是执行编译结果的运行时,以及随之提供的标准库——包括 collections、文件访问和日期处理。在实践中,想要写好 C#,就意味着在使用第三方 package 之前,先了解 .NET 已经提供了什么。

LINQ无需循环即可查询

Language Integrated Query 让你可以使用易读的表达式过滤、投影和重塑 collection,而不必手写 for-loops——.Where()、.Select()、.GroupBy()。对于缺少等效功能的语言,这是 C# 开发者最容易想念的特性。

Entity Framework Core数据库层

这是一种 object-relational mapper,让 C# 代码可以将数据库行作为普通对象读取和写入,而不必手写 SQL 字符串。它是 .NET 后端与数据库通信的标准方式;在完成语言基础后,课程体系还会专门讲解它。

async/await 和 Tasks不阻塞线程

C# 的 async/await 允许方法等待耗时操作——例如数据库调用或 web 请求——同时不会阻塞正在运行它的线程。几乎每个 ASP.NET Core API 和现代桌面应用都依赖这种模式,因此它会在 web-framework 相关内容之前作为独立课程讲解。

是否适合

适合哪些人——不适合哪些人

如果你符合以下情况,就很适合

  • 希望通过一套课程掌握 C# 和 .NET 的三个方向——Unity、桌面应用和 ASP.NET Core API——而不是学习三套彼此割裂的教程
  • 准备学习 Unity,希望在打开引擎本身之前,先打牢语言和 OOP 基础
  • 需要构建或理解真正的后端:ASP.NET Core minimal APIs、Entity Framework Core 和 JWT 身份验证都有专门的课程
  • 是计算机科学专业学生或训练营学习者,希望通过可运行的练习学习 LINQ、泛型和 async/await,而不只是看幻灯片
  • 你来自 Java、Python 或 JavaScript,希望学习 C# 的语法和 .NET 特有的惯用写法,而不是泛泛地复习编程基础

如果你符合以下情况,这不是适合你的工具

  • 希望真正学习 Unity——应用涵盖 Unity 脚本所依赖的 C# 和 OOP 基础,但不讲引擎的编辑器或场景系统
  • 希望免费学习 93 门课程中的每一门:最早的课程免费,Pro 解锁其余课程并移除广告
  • 今天就需要 Visual Studio 或完整的 .NET SDK 项目——应用内编辑器会通过在线编译器运行练习,但要构建连接真实数据库的 ASP.NET Core 项目,仍然需要电脑
  • 希望使用完全离线的应用——运行代码和 AI 导师都需要实时网络连接

问题

常见问题

在手机上学习 C# 和 .NET,最好的应用是什么?

大多数 C# 学习材料在手机上始终无法弥合的,是语言基础与构建于其上的框架之间的鸿沟——LINQ、Entity Framework Core 和 ASP.NET Core。学 C#: .NET 编程 按顺序提供 93 门课程,覆盖这两个部分;你可以在内置编辑器中编写练习,并通过在线 C# 编译器运行,同时使用 AI 导师解答编译器错误和 .NET 特有的问题。支持在 iOS 和 Android 上免费开始学习,提供 22 种语言。

可以在手机上学习真正的 C# 吗?还是需要 Visual Studio?

如果学习的是语言本身,可以——包括类型、控制流、类、泛型、LINQ 和 async/await。你可以在应用的内置编辑器中编写代码,并通过在线 C# 编译器运行,因此无需安装 IDE 或 SDK,就能编写和运行真正的 C#。只有当你开始构建连接真实数据库的多文件 ASP.NET Core 项目时,才需要 Visual Studio 或完整的 .NET SDK;这已经超出了应用练习所处的学习阶段。

学 C#: .NET 编程 支持离线使用吗?

不支持完全离线使用。应用通过在线 C# 编译器运行你的代码,AI 导师也需要实时回答,因此两者都需要网络连接。课程加载速度很快,应用也针对不稳定的网络连接进行了设计,但手机本身无需安装任何东西。

使用 Unity 前需要先学习 C# 吗?这个应用会教 Unity 本身吗?

Unity 脚本使用 C# 编写,因此学习类、继承和面向对象设计,等你打开引擎后会直接派上用场。这个应用在核心模块中涵盖语言和 OOP 基础,但不讲 Unity 的编辑器、场景系统或组件模型——这些属于引擎自身的教程;如果你已经熟悉底层的 C#,理解起来会轻松得多。

具体来说,C# 和 .NET 有什么区别?

C# 是你编写和编译的语法;.NET 则是执行代码的运行时和标准库——它们提供集合、文件访问、日期处理以及其他所有无需你自行编写的功能。像 list.Where(x => x > 5) 这样的调用,是运行在 .NET 提供的 LINQ 功能之上的 C# 语法(一个 lambda)。课程在基础内容之后会将两者结合讲解,因为实际使用惯用 C#,就意味着要了解 .NET 已经为你提供了什么。

LINQ 实际上是做什么的?为什么它有专门的课程?

LINQ——Language Integrated Query——允许你使用 .Where()、.Select() 和 .GroupBy() 这样的表达式筛选、排序和重塑集合,而不必手动编写等价的 for 循环。掌握基础后,你会经常遇到它:在控制台应用中查询列表、为视图整理数据,或构建由 Entity Framework Core 转换为 SQL 的查询。课程安排在泛型基础之后,因为 LINQ 的方法签名默认你已经理解泛型。

如何从 C# 基础进阶到构建 Web API?

这套课程体系会先讲依赖注入和 Entity Framework Core 基础,然后进入 ASP.NET Core minimal APIs、中间件管道、JWT 身份验证与授权策略,最后讲解速率限制、FluentValidation 和 Redis 缓存等生产环境问题。如果没有语言和 LINQ 基础就直接跳到 API 课程,正是 ASP.NET Core 教程会让人感觉比 API 本身更难的原因。

学 C#: .NET 编程 免费吗?

应用可从 App Store 和 Google Play 免费下载。你的第一门课程免费,每日代码练习和每日 Debug Duel 免费,每天还可提问 AI 导师一次。Pro 解锁所有课程、所有实验室和全部任务,移除广告并提高 AI 导师的每日提问上限,让你可以先体验课程体系和编辑器,再决定是否继续。

应用支持哪些平台和语言?

学 C#: .NET 编程 可通过 App Store 在 iOS 上运行,也可通过 Google Play 在 Android 上运行,界面提供 22 种语言。应用年龄评级为 4+;完成课程最终考试后会颁发结业证书——它可以作为学习成果的证明,但不是经过认证的 .NET 认证证书。

C# 在 2026 年仍然适合作为第一门学习语言吗?

如果你看重语言的广泛适用性,答案是肯定的:同一套语法可以用于 Unity 游戏脚本、ASP.NET Core 后端,以及使用 MAUI 构建跨平台桌面应用;而强类型系统能在程序运行前就捕获一类错误。至于它是否特别适合你作为第一门语言,取决于你真正想选择上述三个方向中的哪一个——这套课程体系让前三分之一的内容保持通用,只有在选择变得重要时才开始分支。

开始使用

今天就编写你的第一个 C# 程序

93 门课程,涵盖 A1 到 C2。支持在 iOS 和 Android 上免费开始学习,提供 22 种语言。

App Store — 免费下载Google Play — 免费下载
最近审核日期 · 由 CoddyKit 发布 · 隐私政策
可在 iOS 和 Android 上使用。