问题

学习C#有没有什么比较系统的资源?

回答
想要系统地学习 C,这绝对是个好主意!C 是一门功能强大且应用广泛的语言,从桌面应用到游戏开发,再到后端服务,都能看到它的身影。要说“系统”,那得从基础讲起,循序渐进,并且要辅以大量的实践。下面我就给你掰扯掰扯,怎么才能把 C 学得又透又扎实。

一、 打牢基础:一切的根基

官方文档是你的圣经(但不是唯一一本): Microsoft 自己出的 C 文档是无价之宝。它详细地解释了语言的每一个特性,从变量、数据类型、运算符这些最基本的,到类、接口、委托、泛型这些面向对象的核心概念,再到 LINQ、异步编程、特性这些进阶内容。
怎么看? 不要一开始就想啃完。你可以先找一个 C 入门教程,把基础语法跑通。然后,在遇到疑惑或者想深入了解某个特性时,再去查阅官方文档。比如,你想知道 `ref` 和 `out` 参数的区别,直接搜“C ref out”就能找到最权威的解释。
重点关注: 类型系统(值类型 vs 引用类型)、控制流语句、函数(方法)、面向对象三大特性(封装、继承、多态)、异常处理。
入门书籍: 有些经典的书籍能够帮助你建立一个更清晰的学习脉络。
《C Primer Plus》 (如果你不介意英文原版或者有中文翻译的话),这本书非常扎实,讲解得面面俱到,但确实有点厚重,适合当作一本参考书,慢慢消化。
国内的一些经典教材: 比如一些大学里使用的 C 教材,它们往往会从计算机科学的基础知识开始讲起,培养你的编程思维。当然,选择那些评价好、版本更新的。
在线视频教程: 有时候看着别人一步步操作,比自己摸索要快得多。
Microsoft Learn: 这个平台上有大量免费的 C 学习路径,从入门到高级都有,而且很多是互动式的,可以直接在浏览器里写代码。强烈推荐!
YouTube 上的优质频道: 搜索“C tutorial for beginners”、“C programming”等关键词,你会找到很多优秀的频道。像 Tim Corey,他的视频质量很高,讲得也很细致,尤其是在解释一些深层概念时。Nick Chapsas 也是一个很受欢迎的频道,内容比较新,也很有深度。
国内的学习平台: 比如 慕课网、B站 上也有很多免费或付费的 C 入门和进阶课程。选择那些讲师评价好、课程体系完整的。

二、 实战是王道:敲出你的肌肉记忆

光看书、看视频是学不会编程的。你得动手!

从简单的例子开始:
控制台应用: 这是最直接的方式。写一些小工具,比如计算器、猜数字游戏、简单的文本处理工具。从一个“Hello, World!”开始,然后逐步增加复杂度。
小项目: 尝试写一个待办事项列表应用(控制台版),一个简单的记事本,一个文件管理器。这些都能让你接触到文件操作、用户输入、数据存储等基本概念。
参与在线编程挑战:
LeetCode, HackerRank, Codewars: 这些平台上有大量的算法题和编程练习。虽然它们不直接教你 C 的“框架”或“库”,但它们能极大地锻炼你的逻辑思维、算法能力以及对 C 语言本身的熟练度。从“简单”难度的题目开始,逐步挑战。
学习使用 Visual Studio (VS) / Visual Studio Code (VS Code):
强大的 IDE: Visual Studio 是一个非常强大的集成开发环境,它提供了代码编辑、调试、构建、测试等一整套工具。学会使用它的调试器是解决问题的关键。你可以设置断点,逐行执行代码,查看变量的值,这能帮你理解代码的运行过程。
VS Code 的轻量和跨平台: 如果你喜欢轻量级,或者需要在 Linux/macOS 上开发,VS Code 配合 C 扩展也是一个非常好的选择。
模仿和改造:
当你看到一个你感兴趣的应用,试着去分析它可能用到了哪些 C 的技术。然后尝试自己去实现类似的功能。即使做不到一模一样,这个过程也能学到很多东西。

三、 深入探索 C 的生态系统

C 远不止语法本身,它的强大在于能够构建各种类型的应用。

.NET 生态系统: 你需要了解 .NET Framework(老版本)和 .NET Core/.NET 5+(现代、跨平台)。理解它们之间的关系和演进。
ASP.NET Core: 如果你想做 Web 开发(后端服务、API),这是必学的内容。从创建第一个 Web API 开始,学习路由、MVC、Razor Pages、依赖注入、ORM(如 Entity Framework Core)。
WPF / WinForms: 如果你想做桌面应用开发,可以学习这两个框架。WPF 是更现代、更灵活的选择,它基于 XAML 进行 UI 设计。
MAUI / Xamarin: 如果你想做跨平台移动应用开发,可以关注 MAUI(.NET Multiplatform App UI),它是 Xamarin 的下一代。
Unity 游戏开发: 这是 C 最受欢迎的应用领域之一。如果你对游戏感兴趣,学习 Unity 引擎和用 C 来编写游戏脚本会是一条非常有趣的路径。
面向对象设计原则 (SOLID): 了解这些原则能帮助你写出更易于维护、扩展和理解的代码。
设计模式: 学习一些常见的设计模式(如单例模式、工厂模式、观察者模式)可以让你更好地组织和解决软件开发中的常见问题。
异步编程 (async/await): 在现代应用开发中,尤其是在处理 I/O 操作(网络请求、文件读写)时,异步编程非常重要,可以避免 UI 阻塞,提高响应速度。
LINQ (Language Integrated Query): 这是 C 的一个强大特性,可以让你用一种声明式的方式来处理数据集合,代码更简洁易读。

四、 持续学习和社区互动

技术是不断发展的,学习 C 的过程也是一个持续进步的过程。

阅读别人的代码: 看看 GitHub 上那些开源的 C 项目,学习别人是如何组织代码、解决问题的。
参与社区:
Stack Overflow: 这是程序员的问答社区,当你遇到问题时,很可能别人已经问过并且有了答案。你也可以尝试回答别人的问题,这是一种很好的学习方式。
Microsoft Docs 社区: 在官方文档的页面下方,通常会有社区讨论区,可以进行交流。
技术论坛和交流群: 寻找一些 C 相关的技术论坛或者微信/QQ群,与其他开发者交流经验。
关注技术动态: 微软会定期发布新的 .NET 版本和 C 新特性,保持对这些更新的关注。

学习路线建议:

1. 阶段一: C 基础语法
变量、数据类型、运算符
控制流语句(if, for, while, switch)
方法(函数)
数组和集合(List, Dictionary)
面向对象编程基础(类、对象、属性、方法、构造函数)
封装、继承、多态
异常处理
(多动手写小控制台程序)

2. 阶段二: C 核心特性与常用库
接口、抽象类
委托、事件
泛型
LINQ
文件 I/O
异步编程 (async/await)
.NET BCL (Base Class Library) 常用类
(尝试做一些小型 GUI 应用或更复杂的控制台工具)

3. 阶段三: 某一具体应用领域
Web 开发: ASP.NET Core (MVC, Web API), Entity Framework Core, SQL Server/PostgreSQL
桌面开发: WPF 或 WinForms
游戏开发: Unity 引擎
移动开发: MAUI
(选择一个你最感兴趣的领域深入学习)

记住,学习编程是一个“知行合一”的过程,理论学习和动手实践缺一不可。保持好奇心,享受这个过程,你会发现 C 的世界真的非常广阔!祝你学习顺利!

网友意见

user avatar

C# 是一个简单的、现代的、通用的、面向对象的编程语言,是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。

C#目前的从业岗位主要有以下4种:

1.WEB端的商业软件:金蝶、用友的财务软件,还有一些大型ERP,还有一些互联网公司的网站,一般比较少,例如知名的stackoverflow。
2.移动应用:这个就更少了,可以使用xamarin开发ios、android原生应用。
3.桌面应用:windows forms或wpf框架做一些***管理系统,还有一些上位机开发等。
4.游戏u3d:虽然是用C#语言开发,但是需要学习u3d相关技术。

第一部分:《.NET/C#面试手册》

这份《.NET/C#面试手册》,目前大约4万字左右,初衷也很简单,就是希望在面试的时候能够帮助到大家,减轻大家的负担和节省时间。对于没有跳槽打算的也可以复习一下相关知识点,就当是查缺补漏!

包括[基础语法]、[面向对象]、[集合、异常、泛型、LINQ、委托、EF]、[多线程]、[ASP.NET MVC]、[ASP.NET Core]、[ADO.NET、XML、HTTP、AJAX、WebService]、[常见的算法]、[数据库概念知识]、[数据库SQL查询(附建表语句)]

完整版手册word、pdf地址:金三银四,推荐一份.NET程序员面试手册,4万字干货!

虽然不是学习资源,有时候工作累了、想换工作了、学习枯燥了,可以看看面试手册查缺补漏!

第二部分:适合初学者的视频和教程

开发者工具下载

MSDN, 我告诉你

MSDN我告诉你,全面的开发者工具下载,该有的都有! “2007年开始至今,从未有意标榜或冒充是微软官方网站!” 13年老站了,年轻人认识一下!

菜鸟的C#入门教程

C# 教程 | 菜鸟教程

本教程将告诉您基础的 C# 编程,同时将向您讲解 C# 编程语言相关的各种先进理念。

非常适合0基础的c#初学者,从开发环境的安装到基础的语法,都可以从中学习!

微软官方的教程

C# 文档 - 入门、教程、参考。

了解如何在 .NET 平台上使用 C# 编程语言编写任何应用程序。

对于初学者来说,在语言组织和描述上读起来可能还是有点吃力!官方比较权威,可以做一个参照!

慕课网的《C#开发轻松入门》

C#教程_c#入门视频教程-慕课网

从.NET平台和C#的基本概念开始,深入的介绍C#开发的基础语法、简单程序逻辑、Visual Studio工具的使用技巧以及常用的算法的实现

同时视频中还会有相关的练习题和编程练习,帮助小伙伴们快速步入C#语言的大门

20套C#基础语法练习题

cnblogs.com/zst062102/p cnblogs.com/zst062102/p

bilibili《C#入门到精通》

bilibili.com/video/BV1F

200多个短视频教学,传智播客的老教学视频,讲解比较详细,视频中还有许多小项目可以动手实践一下!

第三部分:WinForm系列

51CTO《零基础学软件之winform常用控件的使用视频课程》

edu.51cto.com/course/87

适合0基础想学习winform的,学习winform控件的使用,能够熟练操作控件。不过不是免费的,不要老想着白嫖,9元付费哦!

bilibili《最全入门窗体修炼手册》

bilibili.com/video/BV1L

UP主自己学过,很不错的教程。C#、基础、winform、窗体、最全入门窗体修炼手册、做应用、游戏。

CSharpSkin

C#Winform控件界面库源码,主要提供大家重绘控件的代码方式和技巧!

CSharpSkin是一款用于C# Winform的免费开源控件库,主要是对微软自带的常用控件做了外观上的重绘。 CSharpSkin项目中某些技能点也参考了互联网相关资料,部分控件代码重绘工作待完善,欢迎大家一起交流贡献。

csharpskin.com/

hapgaoyi/CSharpSkin

开源的Winform库《HZH_Controls》

github.com/kwwwvagaa/Ne

一个基于.Net Framework 4.0,扁平化的、漂亮的、开源的C# Winform控件库。

纯原生开发,不包含第三方插件和类库。包含了常用窗体和常用控件,以及工业工具,类Web控件,使用该控件库可以快速的搭建一个漂亮的应用程序。

漂亮:控件UI以漂亮的Web控件为范本,让你做出来的应用更有WEB感觉,更加扁平化,更加漂亮。

开源: 控件完全开源,你可以高度自由的根据自己的需求来扩展或修改控件。

第四部分:SqlServer系列

sqlserver并不难,看视频的话可能花费的时间会比较长一点!

SQLServer入门学习一篇就够了

SQLServer入门学习一篇就够了_JEsoloH的博客-CSDN博客_sql server学习

本文主要介绍微软的SQLServer的数据库操作,内容由浅至深,望读者坚持阅读。

bilibili《从小白到大师》

bilibili.com/video/BV1K

bilibili《SQL Server 2014入门基础课程》

bilibili.com/video/BV1u

第五部分:Asp.Net Core 系列

bilibili《从零开始学ASP.NET Core与Entity Framework Core》

bilibili.com/video/BV1w

整个课程包含ASP.NET Core的基础、ASP.NET Core MVC、ASP.NET Core Razor EntityFramework Core。

作者是:微软MVP,网名:角落的白板报

适合asp.net core初学者。

ASP.NET Core源码

github.com/dotnet/aspne

ASP.NET Core是一个开放源代码和跨平台框架,用于构建基于现代云的互联网连接应用程序,例如Web应用程序,IoT应用程序和移动后端。ASP.NET Core应用程序在.NET Core(一个免费的,跨平台的开源应用程序运行时)上运行。

bilibili《ASP.NET Core 3.x 入门视频(完结)》

bilibili.com/video/BV1c

适合初学Asp.NET Core

ASP.NET Core学习路线图

ASP.NET Core开发者成长路线图

“作为 ASP.NET Core 开发者,我接下来应该学习什么?”,下面将介绍需要学习的东西,其中包括:依赖注入、数据库、缓存、日志、模板引擎、实时通信、测试、任务调度、设计模式等。

VS Code 开发.NET Core

使用VS Code 开发.NET CORE 程序指南

玩转VSCode-完整构建VSCode开发调试环境 - Eric zhou - 博客园

.NET Core 学习资料精选:入门

.NET Core 学习资料精选:入门

本系列文章,主要分享一些.NET Core比较优秀的社区资料和微软官方资料。我进行了知识点归类,让大家可以更清晰的学习.NET Core。

微软官方的ASP.NET Core教程

ASP.NET 文档

了解如何使用 ASP.NET Core 创建快速、安全、跨平台和基于云的 Web 应用和服务。 浏览教程、示例代码、基础知识、API 参考和更多内容。

ASP.Net Core开源免费的内容管理系统

SeriaWei/ZKEACMS

纸壳cms是基于ASP .Net Core开发的,开源免费的内容管理系统。可视化设计,在线编辑是最大的亮点。

.NET Core Community

github.com/dotnetcore

.NET Core和.NET vNext生态系统的基于.NET的开源项目组织。

常用的.NET Core项目WebApiClient、HttpReports、OSharp、FreeSql都加入了!

Util应用框架

github.com/dotnetcore/U

Util是一个.net core平台下的应用框架,旨在提升小型团队的开发输出能力,由常用公共操作类(工具类)、分层架构基类、Ui组件,第三方组件封装,第三方业务接口封装,配套代码生成模板,权限等组成。

Fast.Framework

China-Mr-zhong/Fast.Framework

Fast Framework 是一个基于.NET 6.0 封装的轻量级 ORM 框架 支持数据库 SqlServer Oracle MySql PostgreSql Sqlite 由于底层使用System.Data.Common 抽象类封装 理论支持所有Ado.Net 实现的类库,差异部分可能需要额外处理。

优点:体积小 流畅API 使用更加简单 性能高

缺点:不具备有自动建库建表迁移等复杂的功能 由于不同数据库差异较大 实现较为复杂 所以暂时不考虑实现

项目结构:

       1、Fast.Framework  2、Fast.Framework.CustomAttribute  3、Fast.Framework.Extensions  4、Fast.Framework.Interfaces  5、Fast.Framework.Logging  6、Fast.Framework.Models  7、Fast.Framework.Utils     

awesome-dotnet-core

github.com/jasonhua95/a

Github上优秀的.NET Core开源项目的集合。

内容包括:库、工具、框架、模板引擎、身份认证、数据库、ORM框架、图片处理、文本处理、机器学习、日志、代码分析、教程等。

ASP.NET Core Web API 最佳实践指南

在这一份指南中,关于开发 .NET Core Web API 项目,我们将叙述一些我们认为会是最佳实践的方式。进而让我们的项目变得更好和更加具有可维护性。

玩转Github:ASP.NET Core Web API 最佳实践指南

LazyCaptcha

仿EasyCaptcha和SimpleCaptcha基于.NET Standard 2.1的图形验证码模块。效果展示:

Gitee:gitee.com/pojianbing/la

阿星plus博客

github : github.com/Meowv/Blog

此版本个人博客项目底层基于 abp vNext (不完全依赖)搭建,和免费开源跨平台的 .NET Core 3.1 开发,支持各种主流数据库(SqlServer、MySQL、PostgreSql、Sqlite)一键切换,遵循 RESTful 接口规范,前端使用 Blazor 开发,可作为 .NET Core 入门项目进行学习。

技术栈:

abp vNext + .NET Core 3.1 + Blazor + JWT + Redis + Hangfire + Mysql + SqlServer + Sqlite + PostgreSql + WebApi + EF Core + Swagger + HtmlAgilityPack + PuppeteerSharp + log4net + MailKit + Docker + Nginx + ...


第六部分:搜索与开发工具

工欲善其事,必先利其器。

dotnet gcmon

一个新的诊断工具 dotnet-gcmon, 也是全局 .NET CLI 工具, 它可以监控到 .NET 程序的 GC, 能获取到的信息也很详细, 另外 maoni 大佬也是其中的开发者之一。

dotnet gcmon 是一个小而实用的诊断工具, 并且还在迭代中, 在对于代码无侵入的情况下, 排查问题还是很方便的, 另外 .NET 现在已经有近十个诊断工具了!

gcmon 的工作原理是什么呢? 其实主要是调用了 CLR 运行时团队提供的一个诊断库, Microsoft.Diagnostics.NETCore.Client, 这个库功能就非常强大了, 各种运行时信息都可以拿到, 当然你也可以用它实现一个诊断工具, 这个库是基于 EventPipe, IPC 等实现的, 还是很复杂的。

GitHub - Maoni0/realmon: A monitoring tool that tells you when GCs happen in a process and some characteristics about these GCs

Visual Studio 重磅推荐:为何我感觉 Visual Studio 很难用?

第七部分:知名博主

.NET开发者主要还是在博客园。

蒋金楠

Artech - 博客园

网名Artech,知名IT博主, 微软多领域MVP,畅销IT图书作者,著《WCF全面解析》、《ASP.NET MVC 4/5框架揭秘》、《ASP.NET Web API 2框架揭秘》等。

Dotnet9

知名站长创办的.NET博客网站,一个专注.NET技术分享的网站

Dotnet9 | 一个专注.NET技术分享的网站

张善友

张善友 - 博客园

职业: 软件工程师,毕业于: 兰州大学2001,目前居住于: 中国深圳,目前就职于:深圳友浩达 关注前沿技术,热爱开源。

自由飞

一个正在创业的.NET 老兵,一起帮创始人17bang.ren/

自由飞 - 博客园

Edison Zhou

EdisonZhou - 博客园

周旭龙,阿里云MVP,关注:.NET Core、C#、微服务、DevOps、企业数字化转型等。

一线码农

一线码农 - 博客园

干货蛮多的!

周见智

周见智 - 博客园

分享原创计算机视觉和深度学习相关文章

此处还有n多大牛!

第八部分:超全的C#帮助类

工欲善其事,必先利其器,日常工作留意总结,加上网上收集,各式各样的几乎都能找到,所有功能性代码都是独立的类,类与类之间没有联系,可以单独引用至项目。有需要请备用留存。

高能预警:130个超全C#帮助类,提升效率就靠它!

包括:INI文件读写类、SqlHelper、IP辅助类、二维码操作类、URL的操作类、 XML操作类、上传下载帮助类、 二维码操作类、分词辅助类、加密解密帮助类、分页帮助类、图片验证码帮助类、图片操作类、处理枚举类、异步线程帮助类、文件操作类、日志帮助类、时间操作类、科学计数帮助类、全面正则表达式操作类、视频帮助类、网站路径操作类!

持续更新中,如果你有全面的资源或者开源项目,欢迎推荐.....

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有