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

求适合业余菜鸟的 c#教程

  •  
  •   crella · 2020-06-16 22:00:26 +08:00 via Android · 1598 次点击
    这是一个创建于 1624 天前的主题,其中的信息可能已经有所发展或是发生改变。
    电脑配置不好,因此用 visual studio commnuity 2013 和.net framework 。

    之前也就只会用 ruby 写些小脚本。不愉快的体验主要是

    1 、不用 rubymine 的话,在代码里打错字总是要到运行时才抛异常,用 rubocop -l 也不能完全避免,因此想换个有免费 IDE 的语言;

    2 、文档还是相对少了点;

    3 、想提高一下程序的性能

    编程主要来写爬虫和解决数学相关的问题。都是业余菜鸟水平。

    一直担心 c#的是:

    1 、关于 web 的库,要不要管理很多异常之类的?多线程里出现异常会不会很难搞? Socket 有会不会比较麻烦?

    2 、yaml.net 和 json 的库的序列化和反序列化过程会不会很麻烦?上一次没看懂示例代码,就又放弃 c#了。

    3 、在用.net framework 的情况下,不用 IIS 那么还有其他做后端的方式吗?

    习惯了 ruby 部分元编程特性,可能不太适应 c#的各种 I....的类,但是我觉得我还是要迈出这一步吧。希望 c#不要在内存管理方面又让我失望。
    8 条回复    2020-06-16 23:37:37 +08:00
    ysc3839
        1
    ysc3839  
       2020-06-16 22:09:24 +08:00
    编程主要来写爬虫和解决数学相关的问题。

    我觉得用 Python 更合适。
    Iamnotfish
        2
    Iamnotfish  
       2020-06-16 22:31:43 +08:00
    3 年 c#路过,首先我觉得语言都是相通的,主要问题是学习曲线的陡度。C#确实是一门适合入门的语言,库很成熟,文档全面。
    **但是**我想说的是,编程的意义是在于解决问题,跟一楼的想法一致,我觉得既然楼主是为了解决数学问题和爬虫,那么应该选择 PYTHON,PYTHON 在爬虫和统计方面有很强大的库( BeautifulSoup, Numpy )使用这些库可以节省你很多重复造轮子的时间。
    janus77
        3
    janus77  
       2020-06-16 22:43:40 +08:00 via iPhone
    py 比较适合,c 井还是重了点。虽然他很美
    niubee1
        4
    niubee1  
       2020-06-16 22:46:39 +08:00
    C#从入门到放弃
    crella
        5
    crella  
    OP
       2020-06-16 22:57:05 +08:00
    借助网络搜索,搞明白了 yaml 序列化的基本用法:

    ![scr1.jpg]( https://i.loli.net/2020/06/16/j1zmn5fDqBgivI3.jpg)

    一开始忘记写 writer.Close();,结果得不到正确的 yaml 文件,急死我了……
    inframe
        6
    inframe  
       2020-06-16 23:06:06 +08:00
    强类型语言在大型系统,多接口松耦合的系统里用起来比较舒服,类型钉死接口固定,适合多人开发协作;

    但科学计算之类的小脚本肯定是动态语言 py 之流最顺手了
    crella
        7
    crella  
    OP
       2020-06-16 23:14:41 +08:00 via Android
    一年之前我也试过 ruby 转 c#,结果看一篇文章讲 c#读取 xml 节点,麻烦得要死,我就比较担心 c#库的生态,于是就放弃了。

    最近在 v2 和知乎都看到不少 dotnet 吹,虽然不知虚实,但是我坚信 dotnet 的春天已经到来,也一定会有够用的轮子。其实我就想要一个有免费 IDE 支持的性能好一点的编程语言帮忙解决问题而已
    tanranran
        8
    tanranran  
       2020-06-16 23:37:37 +08:00
    1 、关于 web 的库 asp.net core mvc(和 srping mvc 同级别),开箱即用不用各种自己去找轮子拼凑,该有的微软都提供

    2 、序列化用 newtonsoft,使用很简单,和 java 里面的 Gson 使用类似

    3 、在用.net framework 的情况下,不用 IIS 那么还有其他做后端的方式吗? [如果是.net framework,那么没有比 IIS 好的] ,如果是跨平台的话,用.net core,有很多,比如在 linux 下可以用 jexus

    4 、C#的内存管理比 java 强太多了,你听说过多少次 C#内存泄漏?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5660 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 01:30 · PVG 09:30 · LAX 17:30 · JFK 20:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.