V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jxxz
V2EX  ›  问与答

不以找工作为目的,想学 c#,这门语言有啥优势特点吗

  •  
  •   jxxz · 2023-05-19 19:37:53 +08:00 via iPhone · 2014 次点击
    这是一个创建于 588 天前的主题,其中的信息可能已经有所发展或是发生改变。
    非程序员,会 go 和 python ,想再学一门语言,单纯的爱好,看了看 c# 好像国内互联网基本不用这个语言,想看下大家对 c#的看法
    14 条回复    2023-11-14 14:45:57 +08:00
    nightwitch
        1
    nightwitch  
       2023-05-19 19:51:57 +08:00 via Android
    翻翻语法一周上手,没什么难度
    makelove
        2
    makelove  
       2023-05-19 20:36:49 +08:00
    还不如学个互补的,比如 js
    frankyzf
        3
    frankyzf  
       2023-05-19 21:50:40 +08:00
    写起来挺顺手的,比较流畅。
    oyjc
        4
    oyjc  
       2023-05-19 22:19:31 +08:00
    非程序员就好办了,C#最合适全栈一把梭。
    连 js 都不用学,C# Blazor 可编译到 WebAssembly 。
    适用领域广:
    Desktop / Web / Mobile / Games / IoT / AI / Cloud
    Dorian101
        5
    Dorian101  
       2023-05-19 23:04:07 +08:00
    Al0rid4l
        6
    Al0rid4l  
       2023-05-20 00:38:30 +08:00
    类型系统没有 Typescript 好用, 但是比 Go, Python 好很多, LINQ 很好, 性能很好

    社区比较封闭, 一些好用的第三方库不开源要收费, 开源氛围也不怎么积极, 没有的轮子喜欢等 MS 实现, 在 MS 生态内用比较安逸, 而那些开源库经常最近提交两年前, 会让人怀疑到底还在不在维护...个人比较喜欢 JS/Rust 这样活跃的社区, 虽然很多人诟病依赖太多

    关于 Blazor 个人不太看好, 对于会 JS 的人来说没啥吸引力, 性能包大小和生态跟 JS 比也没优势, 唯一的好处就是对于只会 C# 的人来说可以前后端用同一个语言比较安逸, 所以大概会有它稳定的一个小市场
    chesha1
        7
    chesha1  
       2023-05-20 01:33:39 +08:00
    用 unity 写游戏内大部分逻辑只能用 c#吧,这是我能想到的独特优势。因为别的很多语言和 c#有重合的部分
    niubiman
        8
    niubiman  
       2023-05-20 08:40:01 +08:00
    如果喜欢这门语言就大胆学,不用问别人,别人推荐的大概率也是他自己喜欢的
    gpt5
        9
    gpt5  
       2023-05-20 09:05:30 +08:00
    元宇宙啊
    kkxi22
        10
    kkxi22  
       2023-05-20 09:51:32 +08:00 via iPhone
    直接 rust 吧
    crazytudou
        11
    crazytudou  
       2023-05-20 11:08:59 +08:00
    没优势,run
    好处是入门快,做点工具啥的桌面程序也很快。
    magicdawn
        12
    magicdawn  
       2023-05-22 05:58:35 +08:00 via iPhone
    语言层面无敌。
    举几个例子:
    var 声明产量 type inference. java 8 抄了,csharp 还有 dynamic
    async await Task 体系,我记忆中很早就有了. 看看 java 还在搞 virtual thread. structual concurrent.
    LINQ 这个好用
    函数调用使用命名参数可以乱序
    extension method
    collection initializer
    很多特性在其他语言中有,但是 csharp 早啊。。。

    语言写起来爽但是是在微软手里,应用不广,随着.net core 到 .net standard 到 .net ,应用在变多吧!
    已经用上了几个 dotnet global tool 了(n_m3u8_re bbdown)
    thinkershare
        13
    thinkershare  
       2023-06-13 13:13:03 +08:00
    我用过: java/golang/c/python/rust/R/matlab/js/csharp, 语言层面 C#的设计是非常优秀的,在所有语言中应该也能排到前 2 ,js/c#/rust 应该是我最喜欢的,工作用的也是最多,没有明显短板和缺陷,要性能和语法糖微软都你了。实现上 MIT 协议完全开源。真正的问题是生态( dotnet 实现的开源太晚和微软在移动端上的失利,还有国内的特殊环境)以及微软余生俱来的原罪。另外如果非职业程序员,我还是建议你选择学习 Python 或者 JavaScript , 如果是打算长期做职业,你最后后发现全部都要学,或者至少要学习常用的四大类编程语言的其中一种。
    jiyan5
        14
    jiyan5  
       2023-11-14 14:45:57 +08:00
    楼主, 你现在做的 C#还是 Java 啊? 我也想学 C#了...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2572 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 10:32 · PVG 18:32 · LAX 02:32 · JFK 05:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.