学习C#的正确姿势以及部分问题?

发布日期:2018-05-30 来源:财富国际在线 阅读:

学习C#的正确姿势以及部分问题?

York Yao 4小时前 66 c# 各位好。 小弟之前陆陆续续使用VB6.0编写程序,想来也2年了。目前想学习C#,并且主要用于WEB开发,同时也想开发一些winform程序。 前几天买了本书《精通C#5.0》花了3天看完,基本都能看懂。 现在有2个问题想请百晓知道的老司机解答下: 1、想请教下接下来的学习步骤,书籍和实战类的 2、看MS的官方说C#准备支持.NET Native,是个好事,关于.NET Native的书也要到下半年估计才会有。对于像我这样刚入门的人,还需要学习类似《CLR via … 0 0 其他回答 下面这些,都是我想对三年前的我说的,部分内容只代表自己的观点,当然你也应该有自己的思考,不要盲从:
1、为自己做一些小工具,解决自己平时的需求,这样可以增加兴趣,C#非常擅长做这块
2、购买或试用ReSharper :: The Most Intelligent Extension for Visual Studio,写代码时照着Reshaper的提示改,可以很快熟悉C#的高级语法
举个例子,取Age大于20的User的Name,用循环可以这样做:
List<string> names = new List<string>();for (int i = 0; i < users.Count; i++){    User u = users[i];    if (u.Age > 20)    {        names.Add(u.Name);    }}
可以被resharper格式化成:
var names = new List<string>();for (var i = 0; i < users.Count; i++){    var u = users[i];    if (u.Age > 20)    {        names.Add(u.Name);    }}
这样就知道了var关键字。这时候resharper会提示for循环可以写成这样:
var names = new List<string>();foreach (var u in users){    if (u.Age > 20)    {        names.Add(u.Name);    }}
这样就知道了foreach语法。这时候resharper会提示还可以写成这样:
var names = users.Where(u => u.Age > 20).Select(u => u.Name).ToList();
这样就知道了LINQ,看LINQ的表达能力多么强大。resharper就像一个随时能给你反馈的老师一样。一旦你学会的这些高级语法,完全可以不再使用resharper的。
3、在 LeetCode Online Judge 上刷题,可以练习编程基本功和C#语法,同时对面试有益
4、如果做Web的话,不要使用Webform
5、遇到问题,调试、Google(或者一些代理,如天外天搜索 - 基于Google的搜索引擎)、在Stack Overflow上提问
6、没事逛逛GitHub · Build software better, together.,特别是:
quozd/awesome-dotnet · GitHub
.NET Foundation · GitHub
aspnet · GitHub
例如:
如果想参与C#的设计:
C# 7 Work List of Features · Issue #2136 · dotnet/roslyn · GitHub
C# Design Meeting Notes for Apr 14, 2015 · Issue #2134 · dotnet/roslyn · GitHub
C# should support indexed property · Issue #2144 · dotnet/roslyn · GitHub
如果想参与.Net框架库的设计:
Propose: new method Enumerable.IndexOf · Issue #1415 · dotnet/corefx · GitHub
Add overloads to string trimming · Issue #1244 · dotnet/corefx · GitHub
New API for single-precision math · Issue #1151 · dotnet/corefx · GitHub
如果想参与CLR的设计:
Consider reference counter as alternative garbage collector · Issue #430 · dotnet/coreclr · GitHub
(Discussion) Lightweight Boxing? · Issue #111 · dotnet/coreclr · GitHub
7、《CLR via C#》是迟早要看的,配合工具ILSpy看,其它C#书没事翻一翻就好了
8、其它通用的书:《编码的奥秘》、《编写可读代码的艺术》、《编写高质量代码》、《编译原理》、《程序员的自我修养—链接、装载与库》、《程序员修炼之道:从小工到专家》、《代码大全》、《代码整洁之道》、《算法导论》、《重构.改善既有代码的设计》等
9、不要局限在C#或.Net上,C++、node、linux、mysql、js等等,如果感兴趣,都可以玩的,当然也不要局限在语言(咳咳...中文...咳咳)上 York Yao 4小时前 0条评论 0 0 赵三本中,除了《CLR via C#》之外,其他书都可以通过经验总结,或者其他网络信息中学到,唯独《CLR via C#》不可以,因为太底层了。所以必须看,当然,看完其他两本更好,缩短你的学习时间。

另外,个人还推荐《C#与F#编程实践》,主要负责教你.net下如何使用函数式编程,为你打开新世界的门。 羊牮 4小时前 0条评论 0 0 登录后可回答 提交回答
关键词 :

关于我们 联系我们招聘信息免责申明广告服务 网站地图 百度地图 TAG标签

Copyright@2018-2022 Cfgjzx.Com 财富国际在线 版权所有 All Rights Reserved   
财富国际提供:最新财富资讯、房产资讯、股票资讯、区块链、投资理财、保险导购、健康产品、公私募基金,易经等资讯及服务.