请问学习 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 这种

求大佬指点迷津。

7755 次点击
所在节点    程序员
70 条回复
mooyo
2023-12-11 23:41:07 +08:00
先学 golang/c++/java


然后校招进微软现学 c#。。。
cnbatch
2023-12-11 23:48:05 +08:00
在校学生?那就从简单的做起,做个桌面端软件,然后做个简单的网站(用 C# 做)。
这两项对于打好 C# 的基础很有帮助。
mooyo
2023-12-11 23:49:25 +08:00
其实游戏和 c#没啥关系,至少和.net core 没啥关系,重点应该不在这个上。
后端国内用 c#的非常少,为了后端千万别学。。。
客户端我不好说,但桌面客户端感觉已经是死的不能再死的一个岗位。
mooyo
2023-12-11 23:49:48 +08:00
除了你想进微软,我真的挠破头都想不明白你想学 c#的目的在哪....
jancing
2023-12-11 23:55:39 +08:00
有前端经验的话,可以从 Windows Forms 和 WPF 开始,有机会的话找找实习,我是觉得工作中学到的东西比较牢靠,自己在大学校园闷头学受到的正反馈比较少。
这两个框架你在学的过程中就慢慢知道后端是怎么写的了,毕竟桌面端本来就包含了广义上的前端和后端。
C#语言不管是入门还是进阶,微软文档都有合适的内容可以查阅学习。版本的话其实无所谓,自己学就看最新版本,工作了就用公司的版本。
没有游戏领域的工作经验,就不提供建议了。
参与.NET 社区的话,英语其实挺重要的,C# / .NET 技术栈国外用得多,资料也多。当然国内博客园也是个好去处。
ybz
2023-12-12 00:06:17 +08:00
游戏、后端、桌面端虽然都是用 C#,但是他们之间的关系大概就跟,锤人和砌墙都用锤子一样。。。。
Aloento
2023-12-12 00:06:21 +08:00
我非常赞同你学习 .NET 系列语言。在国内,除了工控行业( FW ),很少有使用 .NET 的,更别说 Core 了。
但是,通过 C# 优秀的语言设计思想,足以让你在未来的工作中脱颖而出,这也是楼上一些人没有看到的方面。

我使用大部分常用语言,它们都是我工作语言。如果我能够自由选择项目的编程语言,我一定会选择 C#。

学习 C# 你最好通过 MS Learn 开始
https://learn.microsoft.com/zh-cn/collections/yz26f8y64n7k07?WT.mc_id=dotnet-35129-website

Unity3D 使用的是 Mono ,怎么就没啥关系了呢?(⚪,启动!)
hez2010
2023-12-12 00:08:04 +08:00
语言层面:初期跟着官方文档就行了,其他东西后面遇到了现场查文档。
游戏:Unity 、godot 引擎都在用 C#,教程一大堆。
后端:跟着 asp.net core 的官方文档就行了(注意是 asp.net core ,不是 asp.net ),还挺全的。学后端的话 asp.net core 文档中跟 razor 、blazor 有关的内容都跟你没有关系可以直接跳过。
桌面端:跨平台的话推荐看看 Avalonia ,而 Avalonia 是从 WPF 继承下来的,所以你先学 WPF 的话可以比较无痛地转到 Avalonia 上,因为 WPF 文档要比 Avalonia 全的多,顺带学了 WPF 的话后面上手 MAUI 之类的东西也是轻而易举。不跨平台的话那就 WinUI 3 之类的。

另外就是英语得好,毕竟 C# 的主要社区不在国内,文档上也是英文的更准确。

至于前面有个劝退让你学 golang/c++/java 的,只能说你学会了 C# 的话 Java 上手就会,golang 更是看一眼就能开始写代码,只不过这个时候你会因为胃口变叼了写 Java/golang 的时候会觉得很不舒服,要么太繁杂要么太原始。
至于 C++ 的话,无论你学什么其他语言都推荐单独学一下 C++ 的。
NorthA
2023-12-12 00:35:28 +08:00
@cnbatch 这个在学习的过程中肯定会有的 #2
NorthA
2023-12-12 00:39:12 +08:00
@mooyo 其实学 C#不一定是为了工作,目前写代码来对我个人来说还算得上是一种娱乐,我很享受学习编程的过程,前面做私单的时候刚好给我遇到过一家做 C#后端的公司,谢谢哥你的说明
loken2020
2023-12-12 00:41:52 +08:00
推荐两本书《 C#入门经典》《 C#高级编程》
NorthA
2023-12-12 00:42:32 +08:00
@jancing 谢谢指导,那还有个问题请问一下您,就是 winforms 和 wpf 这两个桌面端在实际开发过程中,哪个用的更多一些,或者是什么样子的情况需要用到 wpf 或者是 winforms #5
NorthA
2023-12-12 00:50:31 +08:00
@Aloento 学习 c#我一般是哔哩哔哩的视频结合微软的文档,直接看文档有些地方看不太明白😢
NorthA
2023-12-12 00:55:58 +08:00
@hez2010 😀这真的是说到我想要的点上了,谢谢您
NorthA
2023-12-12 01:04:38 +08:00
@loken2020 好的,谢谢,正好今天双十二拿下🤗
jimmy3780
2023-12-12 01:18:11 +08:00
@mooyo #3 跟游戏其实是有关系的,Unity 近几年的版本将 C# 作为了唯一的语言。
dartabe
2023-12-12 01:33:18 +08:00
最近在学 .Net core 语法就不说了 和 Typescript 太像了

博客园的很多教程是最好的 比大部分英文视频博客都好很多
leegradyllljjjj
2023-12-12 08:06:14 +08:00
@dartabe 因为这两个语言的架构师好像是同一个人
bthulu
2023-12-12 08:32:09 +08:00
会了 typescript, 自然就会 C#, 会 C#自然就会 java, 这三个你都会了, golang 自然也是信手拈来
IMengXin
2023-12-12 08:34:26 +08:00

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

https://www.v2ex.com/t/999537

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

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

© 2021 V2EX