V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
legege007
V2EX  ›  .NET

新手该怎么学习 C#和 WPF?

  •  
  •   legege007 · 2019-09-16 12:19:50 +08:00 · 11626 次点击
    这是一个创建于 1677 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人平时主要从事 C# 和 WPF 开发,现在把宝贵资源整理一下分享给有需要的广大 .NET 开发者~

    如有帮助,别只顾收藏,麻烦支持一下咯~

    入门: 书 或 视频

    书 C#入门经典(第 7 版) (豆瓣)

    https://book.douban.com/subject/26878247/

    WPF 方面的书完全赞同轮子哥 vczh 推荐的 WPF 编程宝典 (豆瓣) -> https://book.douban.com/subject/25785318/,当然这本书有 900 多页,如果觉得太厚重看不下去可以考虑看《深入浅出 WPF 》。

    视频教程,当然是首选金旭亮老师的了。语言基础语法、设计模式、软件架构等都会涉及到~

    C# - 基本技能训练

    C# - 专业技能训练

    C# - 实战技能训练

    也可关注《深入浅出 WPF 》一书作者刘铁锰老师的 Youtube 频道Smart College,在上面他有个 C#课程是目前最受欢迎的 C#视频教程.

    铁猛老师前一段时间还推出了深入浅出 UWP 视频课程,相关课件请走传送门-github,欢迎 fork 或 star.

    中级:

    深入理解 C#(第 3 版) (豆瓣)

    https://book.douban.com/subject/25843328/

    Effective C#(原书第 3 版) (豆瓣)

    https://book.douban.com/subject/30223371/

    高级:

    C#高级编程(第 11 版):C# 7 & .NET Core 2.0 (豆瓣) (这本是最新版,里面涵盖.NET core2.0,.NET core 是未来的趋势~)

    https://book.douban.com/subject/30499851/

    More Effective C#(原书第 2 版) (豆瓣)

    https://book.douban.com/subject/32548162/

    怎么学好 WPF?

    谁有 C#winform 视频教程?

    学习 WPF 有那些好的视频教程或博客?

    至于需要关注的技术博客,当然应该是微软 MVP 的博客优先了,看下面:

    有哪些值得推荐的 C# 技术博客?

    此外,如果有兴趣了解微软最新科技,建议积极参加当地的.net 俱乐部活动(下方文章中有各地.net 俱乐部联系方式):

    可以加微信 iMath7(备注: 昵称 + v2ex),我可以找人邀请~

    当然,看书的同时要多实践,写具有一定功能的小项目,不断地完善~

    原创不易,你的支持和认可将让我写出更好的内容。更多干货可关·注 公·号「 dotNET 匠人」,持续输出优质的 .NET 学习文章~

    Bravo Yeung 还会携手数位 ●NET 技术大佬在知乎专栏 dotNET 学堂 与你一起学习 ●NET 实用技术实战噢~

    56 条回复    2019-09-27 19:53:31 +08:00
    695975931
        1
    695975931  
       2019-09-16 12:51:22 +08:00
    wpf 没怎么学了,都用 dotnet core 来整网页去了。
    JohnLou
        2
    JohnLou  
       2019-09-16 12:52:46 +08:00 via iPhone
    我宣传下 flutter,虽然目前依然是玩具。
    wind98
        3
    wind98  
       2019-09-16 14:24:38 +08:00
    @JohnLou 虽然是玩具,我司已经 2 个项目进去试水了,用起来还不错
    hkitdog
        4
    hkitdog  
       2019-09-16 14:47:41 +08:00 via iPhone
    现在还有人写桌面应用吗..?不是都写网页去了
    mara1
        5
    mara1  
       2019-09-16 14:57:38 +08:00
    不建议入坑 C#,我也是写 c#,前阵子和一个做招聘的朋友聊了聊,她说 c#机会相比少些。
    GTim
        6
    GTim  
       2019-09-16 15:04:35 +08:00
    ddeef
        7
    ddeef  
       2019-09-16 15:36:49 +08:00
    在用 WPF,同道比较少啊。欢迎参观我的 WPF 创业项目 https://getquicker.net/
    另外请问大佬对 WPF 的内存优化有没有什么推荐的资料呢?这个比较头疼
    libasten
        8
    libasten  
       2019-09-16 17:13:59 +08:00 via Android
    @695975931 会不会过几年,这个.net core 又呗放弃了?
    babedoll
        9
    babedoll  
       2019-09-16 17:24:33 +08:00
    不建议入坑 C#,我也是写 c#
    就业机会少,企业大部分还特别养老,容易失去斗志
    LokiSharp
        10
    LokiSharp  
       2019-09-16 17:26:00 +08:00 via iPhone
    等.net 6 出来学跨平台的 WPF 吧
    Removable
        11
    Removable  
       2019-09-16 17:29:34 +08:00
    LokiSharp
        12
    LokiSharp  
       2019-09-16 17:36:04 +08:00 via iPhone
    @Removable .net 5.0 不是 LTS
    aosir
        13
    aosir  
       2019-09-16 17:44:53 +08:00
    同为 C# er,感觉 C#没有新人了,要断层了。
    qiufengshe
        14
    qiufengshe  
       2019-09-16 18:07:49 +08:00
    支持一下
    Removable
        15
    Removable  
       2019-09-16 18:17:32 +08:00
    @LokiSharp #10 哦哦,你是这个意思啊,但是既然你说的是学习跨平台的 WPF,也就无所谓 LTS 了吧
    legege007
        16
    legege007  
    OP
       2019-09-16 18:17:34 +08:00
    @libasten 不太可能放弃.NET core 的,.NET 一开始设计时,就打算跨平台。后期.NET framework 和.NET core 微软只打算维护一份,就是.NET core,未来会直接用.NET 5,实际上就是.NET core。
    zaima
        17
    zaima  
       2019-09-16 18:22:55 +08:00
    有时间系统学一遍
    catqi
        18
    catqi  
       2019-09-16 19:24:42 +08:00 via Android
    Clr via 那本书呢?
    stevenbipt
        19
    stevenbipt  
       2019-09-16 20:00:56 +08:00   ❤️ 1
    B 站有很多优秀的 C#教程,质量相当的高,最好的教程就是 Microsoft docs,详细的说明文档对开发者简直不要太友好
    evitceted
        20
    evitceted  
       2019-09-16 20:49:27 +08:00
    wpf 还有人用吗,十二年前用的
    killergun
        21
    killergun  
       2019-09-16 21:09:55 +08:00
    @evitceted 没做过 ERP、企业类似软件开发吗
    legege007
        22
    legege007  
    OP
       2019-09-16 21:26:35 +08:00
    @evitceted 目前绝大部分桌面软件都是 WPF 或 UWP 呀,UWP 基本上已废弃,.NET core 中已决定涵盖 WPF 和 Win forms
    leosirius666a
        23
    leosirius666a  
       2019-09-16 22:29:52 +08:00
    49 年入国军
    hitaoguo
        24
    hitaoguo  
       2019-09-16 23:39:15 +08:00
    15 年的时候从 C#转到前端去了,感觉样式控制很方便,再就是喜欢 js 这种写法,自由
    ITACHIJAMES
        25
    ITACHIJAMES  
       2019-09-16 23:49:36 +08:00
    说实话 C#在面向消费者领域确实弱势,份额小,大部分人接触的也就是 unity 了。但其在企业市场还是主流吃香的,特别是某些需要资质、有门槛的行业。开发效率高、代码优雅。
    LancerComet
        26
    LancerComet  
       2019-09-17 00:12:08 +08:00
    现阶段国内互联网环境下感觉 C# 作为一个辅助方向不错,毕竟管饭还是要靠主流,顺便推销作品 https://www.microsoft.com/store/apps/9NN9L42J9FS3
    autogen
        27
    autogen  
       2019-09-17 04:14:31 +08:00
    我是来围观稀有动物的
    Justin13
        28
    Justin13  
       2019-09-17 07:31:56 +08:00 via Android
    嗯。。当然是放弃学习啦
    695975931
        29
    695975931  
       2019-09-17 08:01:50 +08:00
    c#哪里少了,从各个排行榜上面,c#都是前五
    legege007
        30
    legege007  
    OP
       2019-09-17 08:08:48 +08:00
    @695975931 事实就是硬核 👍
    TSai2019
        31
    TSai2019  
       2019-09-17 08:19:32 +08:00 via Android
    等 window10 一统天下,应用商店成为安装主流的时候
    uwp 就迎来曙光,目测至少还得三五年
    beginor
        32
    beginor  
       2019-09-17 08:21:10 +08:00 via Android
    以为是小白提问,准备回答的,进来发现是广告。怪不得 .NET 会在国内日渐式微
    ragnaroks
        33
    ragnaroks  
       2019-09-17 08:44:25 +08:00
    @evitceted 现在前端圈各种 mvvm 都是来自 WPF 的阿瓦隆.不过确实很老了,微软现在也没新的架构.
    ragnaroks
        34
    ragnaroks  
       2019-09-17 08:46:35 +08:00   ❤️ 1
    如果是刚入行的码畜,建议不要考虑 C#,至少在国内不要考虑,先找个 java 能过生活再说.

    如果就是做 Windows 桌面项目,那么只有 C#是不二之选,其它都是非常二的选择.
    yinqi025
        35
    yinqi025  
       2019-09-17 09:14:37 +08:00
    WPF 的 xaml 的样式 真的不是一般的虐人 写个自定义控件 写到你怀疑人生~~~
    yinqi025
        36
    yinqi025  
       2019-09-17 09:16:08 +08:00
    推荐楼主去学 election+vue 这样开发出来的东西一点都不比 wpf 差 而且兼容和通用性更好
    Shook
        37
    Shook  
       2019-09-17 09:36:10 +08:00
    战略性马克,学 unity 顺便学 c#
    happinessnch
        38
    happinessnch  
       2019-09-17 09:36:43 +08:00
    “目前绝大部分桌面软件都是 WPF 或 UWP 呀,UWP 基本上已废弃,.NET core 中已决定涵盖 WPF 和 Win forms”
    @legege007
    现在大部分的应用软件都是 node.js + web,类似 electron,
    只有企业级软件或者重度 IM,WPF 和 Winform 才有发挥空间。
    zwh418346771
        39
    zwh418346771  
       2019-09-17 09:39:06 +08:00
    看到 C#就要资瓷一下了
    mooniitt
        40
    mooniitt  
       2019-09-17 09:45:53 +08:00
    我推荐下 react-native
    TangMonk
        41
    TangMonk  
       2019-09-17 09:48:59 +08:00
    @happinessnch #38
    @yinqi025 #36

    election 的用户体验太差,内存占用又大,又卡,查考 vscode
    ziyuzile
        42
    ziyuzile  
       2019-09-17 09:55:19 +08:00
    @mooniitt react-native 不能开发桌面程序吧?
    happinessnch
        43
    happinessnch  
       2019-09-17 09:57:00 +08:00
    @TangMonk
    这是开发成本和性能体验的一个折衷,
    如果性价比低, 网易云音乐,slack,VSCode 就不会选择这种方案了。
    mrdemonson
        44
    mrdemonson  
       2019-09-17 10:16:12 +08:00 via Android
    并不是所有业务场景都是可以用 web 解决的,有很多不能依靠 curd、工作流解决的问题啊,比如专业的工业软件、游戏软件,在比较专业的领域,c#桌面应用还是很多的,感觉大多数人对 c#抱有偏见,当然也得承认机会的确少
    shuizhengqi
        45
    shuizhengqi  
       2019-09-17 11:06:12 +08:00
    。。。这玩意还要学么,我以前写 java 的,0 基础上手 c#,感觉都还好,一天就摸清楚结构了,然后就可以上手写了
    xiaoFine
        46
    xiaoFine  
       2019-09-17 11:14:24 +08:00
    ych8398527
        47
    ych8398527  
       2019-09-17 11:18:46 +08:00
    资瓷,我也是 wpf,养老中
    onecode
        48
    onecode  
       2019-09-17 11:19:57 +08:00
    @evitceted 兄弟,看一眼我们非互联网企业
    bloodish
        49
    bloodish  
       2019-09-17 14:53:25 +08:00
    杭州,有意向的 @-过来,高科技企业,非互联网,955,待遇看能力了.
    beingWH
        50
    beingWH  
       2019-09-17 15:32:34 +08:00
    CLR via C#
    coolmenu
        51
    coolmenu  
       2019-09-17 15:55:24 +08:00 via iPhone
    现在用 xamarin 做移动开发的还有吗
    legege007
        52
    legege007  
    OP
       2019-09-17 16:34:59 +08:00
    @coolmenu 有,而且不少。Xamarin 的性能目前和原生的 iOS/Android 很接近了
    quietnight
        53
    quietnight  
       2019-09-17 17:03:35 +08:00
    老哥,您说的是我 13 年毕业 时候的技术,r u sure ?
    libasten
        54
    libasten  
       2019-09-17 17:23:36 +08:00 via Android
    @legege007 每次再决定抛弃开发者之前,说的都很好听呀。
    jin7
        55
    jin7  
       2019-09-17 19:48:16 +08:00
    友情支持
    zxli
        56
    zxli  
       2019-09-27 19:53:31 +08:00
    @ddeef 感谢您开发的软件,很好用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1140 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 18:23 · PVG 02:23 · LAX 11:23 · JFK 14:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.