如何开始学习C#?

4

我是一名有经验的PHP程序员,主要从事Web语言方面的工作,但今天我决定学习一门新语言!

我才21岁,感觉如果没有掌握一套很好的编程语言,就永远无法在编程行业中获得成功,所以我决定学习C#。

我选择C#的原因是,一些C程序员告诉我,C#是最适合学习桌面应用程序的语言。

我认为我需要开始了解C#的语法/结构,选择哪种开发环境,以及可能会遇到的其他问题。

希望有人能指导我,谢谢。


你想在哪个行业工作?C#非常适合(a)垂直的商业线和内部应用程序开发工作(您可能已经检查过了),但是(b)Java这些天也非常流行。在我的城市,我查过一个网站,有110个Java工作岗位,58个C#工作岗位。首先检查您当地的招聘广告! - Warren P
这里的所有答案都很棒,所以我不会发表自己的看法,但我想再补充一点:用C#写点东西。真正学习语言的唯一方法是通过实践学习,所以想一个你认为自己能够编写的小程序,并开始动手吧。你会在过程中学到很多东西。与PHP等动态语言不同,这是我认为学习C#的唯一有效方法。 - Sasha Chedygov
最重要的是……Java和C#非常相似,所以切换起来相对容易!话虽如此,我会在学习C#之前先学习Java……因为Java社区似乎比C#更传统和“严格”。 - Armstrongest
1
在编程方面拓宽视野,加油! :) - Aren
@waren P,我并不针对特定的行业,而是希望掌握更多的编程语言,以便能够胜任各种工作。我想从桌面应用程序入手,因为我在这个领域有一些好的创意。@musicfreak,感谢您的评论。@Gary,我非常渴望开始编写WIN32应用程序。 - RobertPitt
7个回答

14

关于IDE,您可以使用Visual Studio Express。这里有一套不错的教程here

还要确保您对.NET框架CLR有基本的概念。

一旦您掌握了它,尝试一下LINQ。它是(可以说是)该框架最棒的功能。在这里找到一些好的 LINQ 教程:herehere

尽管您明确提到了桌面应用程序,但.NET FW同样适合Web应用程序。4GuysfromRolla是我最喜欢的ASP.NET资源。

对于桌面应用程序,您可能希望从WinForms开始,但WPF是未来的技术。因此,如果您想为 Windows 开发桌面应用程序,最好学习它。

祝愉快学习!


+1 如果你能在发布VC# Express的链接方面击败我。 - Andy
那个教程系列可能正是我一直在寻找的,谢谢! - RobertPitt
大多数新开发人员将被聘用来维护/改进现有的WinForms应用程序,我猜测,但WPF经验也很可能在招聘时列入“必需品”清单。 - Warren P
我不会费心去学WinForms,直接学WPF吧。 - Kirk Broadhurst
@kirk Broadhurst,WPF相比C#有哪些优势?我只是对WPF进行了初步的研究,它似乎是一个图形界面,专注于GUI方面。如果要构建高端系统,例如网站管理应用程序来管理我的网站之一,是否会遇到可用库方面的任何问题? - RobertPitt
@RobertPitt - 希望我没有让你困惑 - WPF 和 WinForms 不是独立于 C# 的。它们纯粹与 GUI 相关。WPF 代表 Windows Presentation Foundation,是在 .NET 3.0 中推出的,而 WinForms(Windows Forms)则是早期的等效物。它们专注于相同的任务,但 WPF 具有额外的功能。WPF 着眼于未来,而 WinForms 则着眼于过去。 - Kirk Broadhurst

3

+1 给初学者开发者学习中心 - Midhat
非常感谢大家,哪个对我更合适,上面提供的教程还是初学者中心? - RobertPitt
我建议你两个都看一遍。它们可能都有很好的观点,而且不需要花费任何费用。 - Ondrej Slinták

2

学习的最好方式是有一个需要解决的问题,特别是指做一些你不知道如何完成的事情,而不是那些你已经掌握工具的事情。我建议在网上寻找一些玩具问题并尝试为其构建应用程序。

例如,我只有在决定需要一个扑克概率计算器时才开始学习面向对象编程(OOP)。因此,我必须边做边阅读关于VB 6的大量资料。类、属性、方法、语法...网络对这种东西非常有帮助。

我想说的是就去做吧...(你看我这样做了吗? :))你会犯错误,但比任何书籍都能学到更多。


0

如果你正在使用Visual Studio进行学习,那么你可以使用MSDN,这对于早期学习来说是足够完美的。


0

我强烈推荐Daniel Solis的Illustrated C# 2008。这是我用来学习C#语言工作原理的书(不要被标题中的“Illustrated”所迷惑:它并不是一本“初学者”的书,而是使用良好的插图来教授语言)。

如果你想将所学的C#应用于适当的API,可以考虑阅读专门介绍Silverlight、Windows Presentation Foundation或ASP.NET的书籍。对于后者,我推荐Matthew MacDonald的任何一本书。


0

学习基础的Pascal、Java、C#甚至C,本质上是相同的...

从任何一门“计算机科学导论”课程的学习材料开始,
尝试用几种不同的语言解决作业(以C#类似的水平学习C#),
然后转向任何一门“面向对象编程”课程的材料,以学习其余的基础知识。

之后只需要经验和搜索MSDN帮助即可。


0

既然你已经是一名有经验的程序员,学习C#主要就是学习.NET框架。语法对于你来说应该很容易掌握,只需找几个教程就可以了。更难的部分将是学习通过框架可用的大量API。

我建议找一本关于C#的好书(我在微软出版社方面有良好的经验,我听说Wrox和O'Reilly也不错)。确保它讨论了类、多态性(继承和接口)、基于事件的编程、LINQ和反射。

我相信你也会想看一些特别涉及到ADO.NET和WPF的书籍。.NET的优势在于,一旦你学会了.NET框架API,你就可以根据需要轻松切换语言。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接