请问学习 C#需要学习哪些东西。

2023-12-11 23:18:13 +08:00
 NorthA

本人是一名计算机专业大一学生,做了两年半业余前端,想学习 C#,学习路线应该是怎么的。 查了一些资料,有些人说直接学习.net core ,有些帖子又不推荐学习,没有比较准确的推荐。 求大佬给一些比较细化的推荐。 比如说 C#我了解的有三个方向, 可以做游戏、后端、桌面端 如果这三个都想了解学习,学习的方向应该是如何的,技术栈是如何一步步学习下去。

例如做前端就得先 html 、css 、js ,然后学习一些 ajax 、nodejs 、webpack 、npm 相关的知识了再去学习框架 vue 、react 这种,然后例如在 vue 框架中又得学习,router 、vuex 、pinia 这种

求大佬指点迷津。

9083 次点击
所在节点    程序员
70 条回复
NorthA
2023-12-12 12:07:20 +08:00
@deali 谢谢推荐
jtwor
2023-12-12 12:16:38 +08:00
NorthA
2023-12-12 12:16:53 +08:00
统一谢谢各位大佬的回复,我都有看,很感谢各位大佬的推荐和指导
idragonet
2023-12-12 12:41:05 +08:00
看工作需求 需要什么学什么!
OBNtHBZY3N3lxGVT
2023-12-12 13:00:09 +08:00
我是自学的 c#,工作也不是程序员,回答的可能不专业
首先 winform 和 wpf ,虽然都能做桌面端软件,但是如果只是开发一些小工具给自己用或者给同事用,winform 更快一点,wpf 不是不行,但他还是相对麻烦了点,具体有啥大区别我不专业,只是体感如此罢了

你做游戏取决于你会去什么公司,目前行业里大部分是 unity ,用的是 c#语言开发,如果你想接触虚幻 4 、5 那就得 c++
游戏服务器后端也取决于你去什么公司,公司用什么技术栈,目前上海这边 golang 、c++多一点

网站前后端不知道,但是看上去国内前端是比较少 c#的,大部分都是什么 vue 啊,react 这些吧?
czyt
2023-12-12 13:40:37 +08:00
49 年入国军
RainyH2O
2023-12-12 13:47:37 +08:00
直接找个想做的东西,建个项目直接开写,不知道怎么写就开 ChatGPT 问,它告诉你啥不懂的 API 就开官方文档看一下,做出一个玩意来就入门了。
shijingshijing
2023-12-12 13:52:10 +08:00
@IMengXin 这个真不错,不过好像缺少了容器相关的。
myesn
2023-12-12 13:54:47 +08:00
可明确告诉你,C# 能做的方向太多了,不同方向的岗位要求的完全不一样,比如有些要求做工业客户端只要会 WPF 的,有些是要网站可能要微服务还要熟悉云厂商的各种云产品,有些做游戏的要会 Unity ,当你选择了一个方向后,你的就业岗位就基本上只能在某一类型下找,基本不可能跨类型找,如果你说全都学完,可以,完全没问题
Brodess
2023-12-12 14:03:55 +08:00
@NorthA #12 物流行业 wms tms winform 以及一些老医院的桌面端 his 系统,wpf 的话一般是作为前端调用 c++的算法(医疗行业)或者是工业,半导体,有部分基金公司需求开发桌面端,winform 比较老了,还有一部分国产信创使用 wpf+ava 框架开发跨平台客户端,在下半年上海 wpf 的岗位还是挺多的
Allvirus
2023-12-12 14:50:46 +08:00
学 C# + 前端 在哪你都能混口饭吃
crazytudou
2023-12-12 15:49:00 +08:00
作为一个现在还在用 C#工作的人和你说说:
如果你想就业,别学 C#,学第一个开发语言找好就业工资高的(向现实看齐),国内 C#工作真不好找,除非你愿意在小公司之间流连。
如果不为了工作,只是想学,那先学桌面开发(开发 winform 要懂的东西少,入门容易),然后再学数据库,等懂这两个,你就能做点东西了。然后再学点 html/css/js/vue ,学点 mvc ,可以用做做网站了。 后端、桌面端,等你入门了就知道是一个东西。
游戏是另外的东西,虽然有 C#语言开发。
huntagain2008
2023-12-12 16:08:50 +08:00
我一个非计算机专业,小白用户,到了 35 岁的年龄,当时网友给我的回复是:

"猜测楼主是做 c#一类的吧。很接近于 wpf wcf 开发工作,这种开发工作这么低薪资,我倒不觉得惊讶,只是疑惑楼主为什么不早做准备,很多制造业的程序员薪资很难提上去,所以年龄大了去制造业养老这种想法,我觉得并不靠谱"

"我也觉得,有点像我一个同学,毕业后一直在一个做软件外包的日企做一些机械化的事情有个 4 、5 年(二线城市 2012 年开始工资一直是 4 、5k ),新来的实习生都劝他这个没前途赶紧换工作。。。后来被我劝动了,现在好多了
除非家里有矿、收租,不然真的建议马上换个工作吧"

(我对他们的回复的理解是:不是说 C#不好,要找更好的工作岗位,还需要其他的技术)
beyondstars
2023-12-12 16:26:17 +08:00
需要驱动力或者兴趣,想想你希望用 C# 解决什么问题,为什么是 C# 而不是其它语言,搞明白了这一点就容易学下去了,BTW 微软官网都有比较细的文档。
jianghu52
2023-12-12 16:33:45 +08:00
从头看到尾,没有人说现在已经没有啥.net core 了么。从。net6 开始,全部兼容.net core 了。直接学.net 6 就好了。就我个人而言,学.net 不是不行,但是如果要是真从找工作的角度,从 java 入门会更好一点。
1.大部分讲设计概念,包括算法的,还是 java 版本居多。
2.java 跟 C#的类似度很高,如果 java 学会了,转.net 会很轻松。
stardew
2023-12-12 16:52:30 +08:00
刘铁猛老师的 c#课程,非常好
BeanGo
2023-12-12 17:07:33 +08:00
游戏从业者来说下,Unity 用的确实是 C#。但是其实一般 C#用的也不多,往上层说,业务层基本也是用 Lua 、TS 来做热更新,也有 C#的热更新方案,但用的项目比较少;往底层说,Unity 引擎本身也是 C++引擎,只是给 C#暴露了一些接口,另外就是一些上层的包是用 C#写的,如果想做引擎相关的内容,比如去入职 Unity 的话,C++感觉是更重要的。C#的语言特性感觉只是最基础的,如果想做游戏的话,还是更多的要熟悉游戏引擎相关的内容
StoneHuLu
2023-12-12 17:47:42 +08:00
我是做.net core 后端这块 5 年了,我正好想抽空教人写代码,楼主要是不嫌弃的话可以加我 qq 569812422 所有.net core 主流 web 我基本都接触过,目前工作内容是.net core 基于 grpc 的微服务,devops 也懂点。
luckrnx09
2023-12-12 18:22:11 +08:00
刚入行时干过 2 年多 .NET Core 开发,由于就业环境不理想,后来转前端了。
.NET (本回复中都特指 .NET Core ) 是一个平台,VB 、C#、F# 三种语言都运行在这个平台中,C# 是其中最受欢迎的一员,存在感最强,许多人会把 C# 和 .NET 划等号。
C# 是语言基础,用它只能写控制台应用程序。
学完 C# 之后,根据你想从事的方向,可以继续学习,然后做许多事情(桌面端、游戏、移动端、上位机、Web 等),我只做过 HTTP 服务端的开发,也就是俗称的 .NET Core ,也就是 ASP .NET Core 。(微软总是把这些名字搞得很复杂 😞)

但是,楼主以后想从事 C# 开发的话,两点建议:
1. 考虑你想做哪个方向的开发
2. 看看招聘网站上的岗位多不多(注意招聘网站上的 C#、.NET 、dotnet 是同义词)

如果只是希望学一门后端语言让成为全栈工程师的话,我觉得在 AI 时代,学 Python 、Go 都是不错的选择。

最后推荐两份资料:
1. ASP.NET Core Roadmap: https://roadmap.sh/aspnet-core (通过它了解你需要学哪些内容)
2. 我昨天刚发布的《 JavaScript 工程师的 Python 指南》电子书: https://github.com/luckrnx09/python-guide-for-javascript-engineers
ggvoking
2023-12-12 18:37:51 +08:00
单从语言层面来说 C#学起来很快就能上手,我是大三开始搞 Unity ,也没刻意学过 C#,有一些 C++/java 基础就是直接上手就可以写,语言方面就是熟能生巧。而做游戏、后端、桌面端是不同的方向都需要花时间掌握,急不得。
如果是想做 Unity 开发方向,基本上全 C#,而像 Lua 会越来越少,因为主流开始走 HyBridCLR 的 C#热更方案。还是吃 C#熟练度的,因为要考虑性能,特别是 GC 很影响游戏体验
游戏开发的方向也有挺多的。如果只是基础向的话,还是跟着教程学习吧多做案例,新手就了解些基础的组件操作,UI 界面。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/999537

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX