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

2020-06-16 22:00:26 +08:00
 crella
电脑配置不好,因此用 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#不要在内存管理方面又让我失望。
1588 次点击
所在节点    问与答
8 条回复
ysc3839
2020-06-16 22:09:24 +08:00
编程主要来写爬虫和解决数学相关的问题。

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

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

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

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

最近在 v2 和知乎都看到不少 dotnet 吹,虽然不知虚实,但是我坚信 dotnet 的春天已经到来,也一定会有够用的轮子。其实我就想要一个有免费 IDE 支持的性能好一点的编程语言帮忙解决问题而已
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#内存泄漏?

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

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

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

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

© 2021 V2EX