当前位置: 首页 > news >正文

C#系统学习路线

分享一个C#程序员的成长学习路线规划,希望能够帮助到想从事C#开发的你。

我一直在想,初学者刚开始学习编程时应该学些什么?学习到什么程度才能找到工作?才能在项目中发现和解决Bug?

我不知道每位初学者在学习编程时是否都会产生这样的疑问,觉得学习编程没有头绪,甚至无从下手。反正在我刚开始学习编程时是有这样的困惑,但幸好有学长学姐以及老师的帮助和建议,让我在编程的道路上少走弯路,将更多的时间集中在正确的事情上,学习效率大大提升。

接下来我根据我当年的学习情况和现在的市场环境,分享一些C#编程的学习路线,希望能够在你的学习和工作中有所帮助。

计算机基础

如果你现在是在校大学生,我希望你好好学习C语言、计算机基础、操作系统、计算机组成原理、数据结构等。

如果你所在的学校没有开设这些计算机课程,那么就请你到互联网上找相关课程的视频学习。

我这里推荐一些看的书籍:

《大话数据结构》

《C语言程序设计》

《深入理解操作系统》

《数据结构》(最好选择C语言版本)

推荐看的视频:

《带你学C带你飞》

《数据结构与算法基础》

《数据结构和算法》(C语言描述)

C#的基础知识

基础语法:变量、数据类型、循环、数组、函数、集合、类等;

如果你有C语言的基础,要掌握C#的语法基础对你就相当简单了。在这个阶段,你需要掌握C#的语法基础,通过这些基础写一些算法,实现一些简单的逻辑。

面向对象知识

掌握面向对象的知识,比如继承、封装、多态、接口、抽象类等。

这个过程你必须得有抽象思维,将各种需求进行抽象提炼,得到某个特殊的类,让这个特殊类代表这一类需求,并让各个需求都有行为和属性。

基础进阶

学习C#编程更加高端的玩法,比如:泛型,Linq,委托,事件,网络编程,多线程等。

推荐看的书籍:

《C#入门经典》(第六版)

《C#图解教程》(最好选择第五版)

《CLR VIA C#》

推荐看的视频:

《C#语言入门详解》

推荐的学习网站:

《菜鸟教程》

《.NET官方文档》

前端

前端页面三剑客:HTML+CSS+Javascript,我建议你看教程和视频进行学习。

然后就是掌握JQuery、Ajax,这两个已经是比较老的技术了,网上学习资源很多,而且现在很流行的框架Vue、React、Angular等,都是在JQuery和Ajax的基础上实现的。

前端框架我推荐你学习Vue3.0版,这个框架很多公司都在使用,你掌握了它,对你以后找工作很有帮助。

推荐看的书籍:

《JavaScript权威指南》

《HTTP权威指南》

《JavaScript DOM 编程艺术》

《深入浅出Node》

推荐学习的教程:

《JavaScript》

《菜鸟教程》

《Vue.js》

数据库

先学习关系型数据库,掌握最基本SQL语法,推荐SQL Server。

你可以使用ASP.NET MVC或Web API技术对数据库进行实际操作,先熟练编写简单的CRUD。

推荐看的书籍:

《SQL Server 2014技术内幕:T-SQL查询》

《SQL必知必会》

推荐看的教程:

《SQL教程》

《SQL Server文章博客》

C#高级知识

这个阶段你需要做出一些实际的项目,比如使用ADO.NET,ASP.NET MVC,ASP.NET Web API等,你可以模仿书本或教程上的项目,先动手做起来。

你也可以找一些开源项目,如论坛、博客等,阅读别人的代码,模仿别人的实现过程,在按照自己的想法编写你的项目,将你学习的高级知识运用到项目中。

ADO.NET:做过C#项目的都知道,这是连接数据库最老的技术,现在已经基本不使用了,大部分公司都是直接使用封装好的ORM。但是作为初学者,我建议你还是学习它,有助于你了解ADO.NET与数据库是如何进行交流的。

ASP.NET MVC:这是一种使用模型、视图、控制器的编程思想,学习它的目的是能够让你快速的实现一个网站,在结合ADO.NET,你就可以将前端与数据库连通了。

ORM:对象关系映射树,主要用于面向对象中不同类型数据之间的转换。现在比较流行的还有Entity Framework、SqlSugar、NHibernate,推荐你学习ENtity Framework框架。

ASP.NET Web API:目前在市面上很受欢迎的技术,使用它,实现SPA(前后端分离的后端技术)就很容易,后端开发人员将自己的业务逻辑通过API暴露出来供前端开发者访问。

推荐看的书籍:

《精通ASP.NET MVC 4》

《ASP.NET MVC 5高级编程》

推荐看的教程:

《ADO.NET》

《ASP.NET MVC 教程汇总》

推荐看的视频:

《2021新版Asp.Net MVC》

最后就是.NET Core

这里我推荐你看微软的官方文档,你可以直接从.NET Core 5.0开始学习。

.NET Core的学习内容较多,你可以根据下面图片中的内容进行学习。

推荐看的书籍:

《深入浅出.NET Core》

推荐看的教程:

《ASP.NET Core的分享之路》

《ASP.NET Core 学习视频教程》

在编程这条道路上,如果你想走得更远,请不要停下学习的脚步。

这里再多说一句,在互联网基本上没有C#的开发岗位,所以想要走C#开发路线,又想要高工资的就别想了,C#的岗位大多集中在政府、军工、制造业(C/CS方向)。

相关文章:

C#系统学习路线

分享一个C#程序员的成长学习路线规划,希望能够帮助到想从事C#开发的你。 我一直在想,初学者刚开始学习编程时应该学些什么?学习到什么程度才能找到工作?才能在项目中发现和解决Bug? 我不知道每位初学者在学习编程时是…...

UI开发:从实践到探索

UI开发:从实践到探索 参考博客文章:https://blog.jim-nielsen.com/2024/sanding-ui/ 在现代web开发中,用户界面(UI)的重要性不言而喻。一个优秀的UI不仅能提升用户体验,还能直接影响产品的成功。 UI开发…...

操作系统 | 学习笔记 | 王道 | 3.1 内存管理概念

3 内存管理 3.1 内存管理概念 3.1.1 内存管理的基本原理和要求 内存可以存放数据,程序执行前需要先放到内存中才能被CPU处理—缓和cpu和磁盘之间的速度矛盾 内存管理的概念 虽然计算机技术飞速发展,内存容量也在不断扩大,但仍然不可能将所有…...

Unity射线之拾取物体

实现效果: 可以移动场景内物品放置到某个位置。通过射线检测,点击鼠标左键,移动物体,再点击左键放下物体。 效果: 移动物体 实现思路: 通过射线检测,将检测到的物体吸附到摄像机前的一个空物…...

Python的numpy库矩阵计算(数据分析)

一、创建矩阵 import numpy as np#创建矩阵anp.arange(15).reshape(3,5) bnp.arange(15,30).reshape(3,5) 使用arrange和reshape创建的二维数组就可以看成矩阵。 此时a和b存储的是: [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14]] [[15 16 17 18 19]…...

R语言的基本语句及基本规则

0x01 赋值语句 使用 “<-” 或 “” 进行赋值。例如&#xff1a; x <- 5 # 将数值 5 赋值给变量 x y 10 # 另一种赋值方式0x02 输出语句 使用 print() 函数输出内容。例如&#xff1a; print("Hello, R!") print(x)0x03 注释语句 任何在 #之后的内容在…...

网络受限情况下安装openpyxl模块提示缺少Jdcal,et_xmlfile

1.工作需要处理关于Excel文件内容的东西 2.用公司提供的openpyxl模块总是提示缺少jdcal文件,因为网络管控,又没办法直接使用命令下载&#xff0c;所以网上找了资源&#xff0c;下载好后上传到个人资源里了 资源路径 openpyxl jdcal et_xmlfile 以上模块来源于&#xff1a;Py…...

【算法】- 查找 - 散列表查询(哈希表)

文章目录 前言一、哈希表的思想二、哈希表总结 前言 散列技术&#xff1a;在记录的存储位置和它的关键字之间建立一个确定的对应关系f&#xff0c;使得每个关键字key对应一个存储位置f(key) 哈希表&#xff1a;采用散列技术将记录存储在一块连续的存储空间中&#xff0c;这块连…...

货币政策工具

本文为个人学习笔记&#xff0c;内容源于教材&#xff1b;整理记录的同时也作为一种分享。 1. 简介 货币政策工具作为央行实现货币政策目标的经济手段&#xff0c;以期达到最终目标&#xff0c;即物价稳定&#xff0c;充分就业&#xff0c;经济增长&#xff0c;国际收支平衡。…...

std::async概念和使用方法

std::async是 C 标准库中的一个函数模板&#xff0c;用于启动一个异步任务&#xff0c;并返回一个std::future对象&#xff0c;该对象可用于获取异步任务的结果。 1、概念 std::async允许你以异步的方式执行一个函数或者可调用对象&#xff0c;它会在后台启动一个新的线程或者…...

Chatgpt 原理解构

一、背景知识 1. 自然语言处理的发展历程 自然语言处理在不同时期呈现出不同的特点和发展态势。萌芽期&#xff0c;艾伦・图灵在 1936 年提出 “图灵机” 概念&#xff0c;为计算机诞生奠定基础&#xff0c;1950 年他提出著名的 “图灵测试”&#xff0c;预见了计算机处理自然…...

【每日刷题】Day135

【每日刷题】Day135 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. LCR 011. 连续数组 - 力扣&#xff08;LeetCode&#xff09; 2. 【模板】二维前缀和_牛客题霸_牛客…...

Linux运维01:VMware创建虚拟机

视频链接&#xff1a;05.新建VM虚拟机_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1nW411L7xm/?p14&spm_id_from333.880.my_history.page.click&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.点击“创建虚拟机” 2.选择“自定义&#xff08;高级&#xff0…...

服务器平均响应时间和数据包大小关系大吗?

服务器的平均响应时间与数据包大小有一定的关系&#xff0c;但这只是影响响应时间的众多因素之一。具体来说&#xff0c;数据包大小对服务器响应时间的影响可以从以下几个方面来理解&#xff1a; 1. 数据传输时间 影响: 较大的数据包需要更多的时间在网络上传输&#xff0c;因此…...

Vue入门-指令学习-v-show和v-if

v-show&#xff1a; 作用&#xff1a;控制元素的显示隐藏 语法&#xff1a;v-show"表达式" 表达式值true显示&#xff0c;false隐藏 v-if 作用&#xff1a;控制元素的显示隐藏&#xff08;条件渲染&#xff09; 语法&#xff1a; vif"表达式" 表达式tr…...

nacos多数据源插件介绍以及使用

概述 在微服务架构中&#xff0c;服务配置的集中管理和动态调整是至关重要的。Nacos 提供了配置管理和服务发现的功能&#xff0c;其中配置管理支持动态数据源的切换&#xff0c;增强了其在复杂环境中的适用性。默认情况下&#xff0c;Nacos 支持 MySQL 和Derby&#xff0c;但…...

国庆档不太热,影视股“凉”了?

今年国庆档票房止步21亿元&#xff0c;属实有点差强人意。 根据国家电影局统计&#xff0c;2024年国庆档&#xff08;2024年10月1日至7日&#xff09;全国电影票房为21.04亿元&#xff0c;观影人次为5209万&#xff0c;总票房成绩、观影总人次同比均有所下滑。 作为传统观影高…...

QtDesign预览的效果与程序运行的结果不一致的解决方法

存在的问题 使用Qt designer软件设计出来的界面&#xff0c;与转换成python程序运行出来的结果不一致&#xff0c;具体看下图 Qt designer预览结果 程序运行出来的结果 原因分析 我自己的电脑是2560*1600分辨率的屏幕&#xff0c;采用的是200%的缩放比例&#xff0c;出现这种…...

模运算和快速幂

文章目录 模运算快速幂 模运算 模运算是大数运算中的常用操作。如果一个数太大&#xff0c;无法直接输出&#xff0c;或者不需要直接输出&#xff0c;则可以对它取模&#xff0c;缩小数值再输出。取模可以防止溢出&#xff0c;这是常见的操作。 取模运算一般要求a和m的符号一…...

【机器学习】——神经网络与深度学习:从基础到应用

文章目录 神经网络基础什么是神经网络&#xff1f;神经网络的基本结构激活函数 深度学习概述什么是深度学习&#xff1f;常见的深度学习算法 深度学习的工作流程深度学习的实际应用结论 引言 近年来&#xff0c;神经网络和深度学习逐渐成为人工智能的核心驱动力。这类模型模仿人…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...