1
Akiya 2022-07-13 18:28:03 +08:00 via iPhone
|
3
quan01994 2022-07-13 18:33:31 +08:00 1
官方文档是最好的 ,视频的话 channel9 上有很多。官方的博客也可以多看看 。
还有我想说一下,有些人真的很狭隘 。 |
5
kklk OP @quan01994 狭隘是什么意思,不太理解您的说法,我是新手不太懂。官方文档我准备先完整的阅读一遍,不知道有没有代码案例平台,您能推荐一个吗,我想后续可能要用实例来检验自身所学的内容。
|
7
thinkershare 2022-07-13 18:55:05 +08:00
|
8
thinkershare 2022-07-13 18:57:56 +08:00
@kklk 另外你需要找个事情来做, 例如使用 Span 写个性能不错的 JSON 解析器. 这种纯粹不需要依赖第三方的 API 的库, 可用考验你对语言的理解, 还有抽象问题的能力. 编程的核心是使用某个语言去抽象某种需求, 然后平衡各种矛盾. 如果你遇到学习问题, 我可以给你提供免费咨询.
|
10
a33291 2022-07-13 19:29:41 +08:00
这两年 C#语言发展非常快,很多书籍(特指中文)没有跟上进度,比较推荐微软官网自身的文档.当然,早期的书籍的知识任然有效,因为语法等兼容性非常好.
当然,根据具体的开发目标又有一些更为细分的技术需要学习(比如 WPF 的 xaml),但相对通用的书籍推荐 2 本 <<C#高级编程>>和<<CLR via C#>> 此外 u3d 用到了 C#作为脚本语言(C#只是.net 中的一员,是一个规范+平台,可以这么理解,但是 C#是.net 上最具代表性的语言,所以很多人简单的理解为 C#就是.net,其实还有 VB 以及 F#等语言),的确为推动 C#做出了积极的贡献,同时微软投入大量的精力发展 C#及其相关生态也反哺了 u3d 等应用方. |
11
ragnaroks 2022-07-13 19:37:22 +08:00
一楼给的 MSDN 就够了,或者看下 youtube TimLiu 的视频,dotnet 主要是易学难精,就有很多人写出性能和 java 一样甚至和 PHP 一样的代码(光一个 System.Runtime.Intrinsics 面试就能筛掉 99% 的人),查找相关资料应以 msdn 为主 stackoverflow 为辐。
|
12
ragnaroks 2022-07-13 19:40:18 +08:00
二楼看法可能狭隘了但很中肯,除非你和我一样在合资公司,否则多半用的是 java 、js ( node )、go ;另外由于 dotnet 全能,如果你去的是普通公司,极有可能你会变成全干工程师,工资却不会有很高的倍数。
|
13
aw2350 2022-07-13 20:02:51 +08:00 via iPhone
@kklk 建议以就业为导向;c#方向薪资待遇偏低,机遇较少;目前在工控上位机客户端以及游戏(u3d )还有点市场,
|
14
aw2350 2022-07-13 20:03:31 +08:00 via iPhone
@thinkershare 我给人家建议你这条哈巴狗叫什么
|
15
aw2350 2022-07-13 20:05:50 +08:00 via iPhone
@ragnaroks net 可不全能,国内市场还是传统领域,加上这几年要自主可控,这些传统信息系统肯定会被替代掉;虽然 net 开源了,但是国家不认可微软的技术栈
|
16
aw2350 2022-07-13 20:11:51 +08:00 via iPhone
@kklk 一句话,就业为导向,薪资为导向;另外,培训机构都不开的技术方向,以及国内大学几乎没有课程的方向,也没多少人讨论的方向,你觉得会是一个好的方向?如果你做游戏,或者要去外企,或者出国,可以选
|
18
aw2350 2022-07-13 20:19:27 +08:00 via iPhone
@ragnaroks 那应该是一些边缘信息类系统吧,最近接触的政企项目,大部分都提出要以后支持 arm 架构或者国产 linux 或国产 cpu 指令集或者国产数据库,这些 net4.5 肯定是支持不了的
|
20
inframe 2022-07-13 21:33:23 +08:00
用过开源的 net core 6 ,可以编译到 Linux
不过还需要时间验证,不知道各个平台兼容性怎么样 |
21
zhuangzhuang1988 2022-07-13 21:35:01 +08:00 via Android 1
基础的看下后
可以跟着微软的一个大佬后面学编译器 里面涉及了很多,怎么写测试,怎么写好一个编译器,怎么做重构,怎么 debug, 光第一节课看完后,就发现,比一堆 blog 写得好很多很多 [[中英字幕] C# 构建编译器 ( Building a Compiler )-哔哩哔哩] https://b23.tv/zO6dJjR |
22
a33291 2022-07-13 21:37:25 +08:00
``国家不认可微软的技术栈``,请问这个结论是怎么得出的?国家从官方渠道认可过哪些技术栈?
因为我们自己主要用 netcore 为 ZF 开发包括门户、大规模运维系统(市级或省级设备检测和管控)、视频融合在内的系统,所以技术选型大多是公司遗留或技术决策人的个人喜好问题。 生态这个东西的确就是靠运势,比如 py 能借机器学习起来(但是大部分需要性能的都还得是 c/c++),然后生态好,学的人多,市场接受度广又反向推动更多人去学,.net 在 web 市场方面(互联网企业为主)的确是无法与 java 等竞争. 当然,对于个人而言,面向工资编程是明智的选择. 对于传统的.net framework 都绑死在 win 上,我们从 17 年开始切换到 netcore ,几乎不再使用.net framework 。后续可能支持 win arm 版,netcore 才跨平台支持 x86\x64\arm,所以对于跨平台 ui 类软件可以考虑 QT 或 web electron 栈(maui 不好说,可参考隔壁 flutter,此外其他的跨平台 ui 如 Avalonia 等没用过不清楚),对于 win 上绑死的程序来说 winform 和 wpf 都还不错 |
23
darknoll 2022-07-13 21:57:00 +08:00
不建议学 c#,学了没卵用
|
24
1217950746 2022-07-13 22:28:37 +08:00
@a33291 Avalonia 香的一批
|
25
qwq11 2022-07-13 22:53:58 +08:00
c# 写着爽的一批,这两年没关注了,但是还是要说句 c#是他吗写着最爽的语言
官方文档就行,一般来说语法和语法糖入门了之后,剩下的就是查文档了,而且很多时候也不用查,凭直觉就找得到很多东西。而且有 intellisence 鼠标移上去就看得到一大片的解释。除此之外,想了解底层 Runtime 相关的,推荐《 CLR via C#》 |
26
u823tg 2022-07-14 00:28:33 +08:00 2
C# 10 in a Nutshell Essential.C#.8.0. 这两本入门应该够了。
|
27
runningowl 2022-07-14 05:57:14 +08:00
|
28
FungKao 2022-07-14 07:53:28 +08:00
|
29
kklk OP @thinkershare 如果是按薪资的话,您建议学哪个语言呢
|
30
INCerry 2022-07-14 09:33:13 +08:00 2
很久之前回答过类似的问题,我把书单贴一下
附上.NET 新手资料: https://dotnet.microsoft.com/zh-cn/ https://dotnet.microsoft.com/zh-cn/languages/csharp https://dotnet.microsoft.com/zh-cn/learn https://dotnet.microsoft.com/zh-cn/platform/why-choose-dotnet https://dotnet.microsoft.com/zh-cn/apps/xamarin 《 C# 高级编程》 《果壳中的 C#》 《深入理解 C#》 《你必须知道的.NET 》 《 C#高效编程 : 改进 C#代码的 50 个行之有效的办法》后面也出了个 150 个办法 《 More Effective C#中文版 : 改善 C#程序的 50 个具体办法》 《 Async in C# 5.0 》 《 C#并发编程经典实例》 《 C#多线程编程实战》 《 CLR via C#》 《.NET 本质论 第 1 卷:公共语言运行库》 《.NET 探秘 : MSIL 权威指南》 《.NET 性能优化》 《.NET 设计规范 : 约定、惯用法与模式》 《.NET 内存管理宝典》 《.NET Core 底层入门》 |
31
kklk OP @a33291 面向工资编程这个,您有什么建议学习的语言吗。目前的想法是学习一下 c#,等有一点成效之后学习一下 golang
|
32
Itoktsnhc 2022-07-14 09:45:06 +08:00
c# -> golang:golang 怎么这么难受
golang -> c# : golang 怎么这么难受 如果目标是 golang 我建议直接上吧 golang 学起来比 c#简单多了 |
33
leexy 2022-07-14 10:12:41 +08:00
学 Java 吧 去卷他们
|
34
thinkershare 2022-07-14 10:59:27 +08:00
@kklk 工资和任何语言都没有太大的直接关系, 任何一门语言中都有高收入的, 只是有一个大致分布.
工资高的大部分职位要求的不是语言. 而是解决问题的综合能力. 作为职业程序员, 你至少需要会 2-4 门编程语言, 工业界广泛使用的这些语言: c/c++/rust, golang/c#/java, javascript/typescript, python/R, 你都可以学一学. 他们都有自己的生态位, 在自己的生态位上, 这些语言相比于其它语言有自己优势, 如果一定说哪一门必须学, 我推荐 JavaScript, 所以你首先要知道, 你未来主要想要从事什么样的工作, 它需要的技能树中那个语言是必须的, 就先去学它. 软件从来都不直接受到编程语言的限制. 但各个编程语言都有自己的习俗和看待并解决问题的思维. 多换几个语言, 可以看看从不同角度解决同一个问题时候的思维差异. 想要踏实将软件工程师作为职业, 最需要是牢固掌握考研的哪几门计算机核心课程, 然后选择自己喜欢的而且认为有钱途的方向深耕. 另外工作久了, 你会发现技术并不值钱, 值钱的是业务逻辑和商业模式. |
35
a33291 2022-07-14 11:00:07 +08:00 1
@kklk
客观的说,目前如果想要从事互联网行业 /大数据方向,选 java/golang/py,目前 C#在这这方面(市场+生态)应该是比较弱(国内来说,国外不清楚) 如果从事传统行业(医疗 工业 等和设备底层关系较大的)等可选 C#(不代表 C#能全部搞定,一定程度上依赖 c/c++,但是 c#和他们的交互非常流畅,且开发效率较高,同时有成熟的 ui 框架) 如果是计算机专业,有一定的理论基础的话,学起来应该都快. |
36
a33291 2022-07-14 11:01:16 +08:00
哈哈,单从语言角度来说,的确很多其他语言转 C#都很难受,同时用过这几个就深有体会
|
37
thinkershare 2022-07-14 11:01:48 +08:00
@leexy 另外 V2EX 这个平台我感觉并不适合文这个问题. 因为这个问题网上已经有了无数的答案, 知乎上这个问题我都看过好多次了,善用搜索引擎. 我怀疑你在水铜币😄😄😄. 我也是闲的无聊...
|
38
thinkershare 2022-07-14 11:05:29 +08:00
@a33291 哈哈说的是实话. 其它语言的语法糖都它弱了. C#的核心问题还是在生态上. python 的性能实在太差, 除非用来做胶水, 它的性能属于放弃治疗的. 我天天写 python/ts, 越写越爽.
|
39
thinkershare 2022-07-14 11:08:33 +08:00
|
40
fanqisoft 2022-07-14 11:38:56 +08:00
去 b 站上把杨中科老师的.net 视频刷一遍
|
41
timethinker 2022-07-14 11:45:42 +08:00
要我说最好的办法就是直接做一个练手的项目实践一下,在实践的过程中不断的解决问题和优化问题的解法,这样学习效率是最高的,只有亲自动手做过一遍之后,你才能知道个人的学习成果如何,知道该去学习什么东西才能得到更进一步的提升。
|
42
jimmy3780 2022-07-14 12:00:46 +08:00
|
43
fivestrong 2022-07-14 12:21:50 +08:00 via Android
timcorey 讲的很好 https://www.iamtimcorey.com/
|
44
Bazingal 2022-07-14 12:29:33 +08:00
@thinkershare 说到生态,也就比不过 python 、js 、jvm 系了,比起 go 之流的还不是随便碾压?
|
45
wu00 2022-07-14 12:43:03 +08:00
- 官方文档完善、权威
- 语法优雅、特性完善、性能顶尖、IDE 宇宙最强 - 开源跨平台 - 版本迭代快、升级平滑 - 国内社区贡献者偏少 - 想招齐一个靠谱的 C#开发团队,十分困难 - 30k 以下的工作很好找,30k 以上几乎没有 - 对标同行工资偏低,但没有低到离谱;加班相对较少 - 学习全靠自己,因为你的 leader 大概率也是水货 - 大厂岗位几乎没有 |
46
Bazingal 2022-07-14 12:45:07 +08:00 via Android
@wu00 网易广州互娱,客户端和服务端都在招.NET
|
49
sunmker 2022-07-14 14:51:35 +08:00
基础入门语法看《 C#高级教程》,特性之类的建议看《 C#图解教程》,因为前者讲的太细了,有些东西初级不是特别需要
|
51
kklk OP @thinkershare 感谢解惑
|
52
onetown 2022-07-14 15:08:52 +08:00 1
|
53
sinnosong1 2022-07-14 15:09:46 +08:00 1
我去年转码,之前做测试,Essential C# 入门,现在抄代码喜欢看看 C# in a Nutshell ,stackover flow,Msdn 。现在在公司写 java 后端,WPF 程序+Avalonia linux 程序。马上网教本科毕业正在用 asp.net core + Blazor 写论文项目。C#确实全能,写起来也舒服,干活也快,资料也多。
|
54
charlie21 2022-07-14 19:57:22 +08:00
不学和学有什么区别
|
55
Fixedsys 2022-07-28 08:14:52 +08:00
《 C#图解教程》挺不错的!
|
56
liuguangxuan 288 天前
@Akiya #1 请问一下老哥,为什么感觉 C#的官方文档中超链接来回乱跳,知识点不是那种循序渐进,依次加深。是我阅读的方法不对吗?
|