如何快速学习C#?

时间:2009-03-24 08:44:50

标签: c# asp.net

我希望成为C#的优秀开发人员(尤其是.NET环境(即windows app和web app))。

建议我实现相同的方法.....可能是书籍,杂志,期刊,代码样本等。

17 个答案:

答案 0 :(得分:16)

除非您已经拥有其他语言/平台的丰富经验,否则您所说的“快速学习”和“优秀开发人员”的两个要求在某种程度上是正交的。最终会使您成为优秀开发人员的经验是使用语言和.NET框架的经验,以及其他善于帮助您改进的人。 This takes years;没有捷径。

也就是说,书籍是熟悉语言的好方法,它们从fairly basic onesquite advanced,因此有阅读进展。此外,阅读博客将帮助您快速掌握语言的各个方面(我特别推荐Eric Lippert's,尽管有些主题非常先进)。而阅读甚至开始在这样的论坛上回答问题将增加并测试你的知识。

答案 1 :(得分:9)

我建议从C#的绝对核心部分开始 - 了解类型系统,字符串,数字,IO,集合等。我个人会在控制台应用程序中执行此操作,您不需要几乎所需的代码通过GUI获得结果,您可以专注于您想要了解的主题。

就书籍而言,C# 3.0 in a Nutshell非常好。如果你真的不是一个控制台类型的人,Head First C#可能会在你的街道上 - 这不是我喜欢的风格,但很多其他人喜欢它。但是,请确保您获得最新的打印,因为许多错误已得到纠正。

答案 2 :(得分:1)

开始使用C#

开发可以使用的应用程序

答案 3 :(得分:1)

加入使用它的公司,进入一个优秀的开发人员团队。让他们中的一个成为你的导师。你会在一周内学到更多关于书籍,指南等的知识。

答案 4 :(得分:1)

我建议:书籍,杂志,期刊,代码示例等

说真的,我建议书和练习。有很多书可以帮助你入门,可能大致相同。然后,当你掌握了基础知识并希望快速指导它如何运作时,this one is rather good

答案 5 :(得分:1)

Charles Petzold撰​​写了他的优秀着作“.Net Book Zero”,可从以下网址下载:

http://www.charlespetzold.com/dotnet/

我建议将此作为您的起点,这是一个不错的阅读,他的写作风格很容易解析。

答案 6 :(得分:0)

嗯,我认为最大的障碍不是学习C#,而是获得编写商业Windows软件和网络软件的经验。

你可以说,良好的开发实践与语言无关,只有通过实际开发端到端项目的经验才能真正获得。

然而,话虽如此,我最好的建议是开始学习和实践面向对象的设计模式和实践,然后将它们应用于特定目的,例如:例如,设计和维护ASP.net网站。

这将帮助您体验使用C#进行开发的复杂性,同时还可以深入了解如何调试以及与IIS等关键操作系统进行交互。

您可能很快发现,单独掌握C#是不够的。例如,要构建一个体面的ASP.net网站,您可能还需要了解某些数据库(或数据存储的替代方案)。

最后,阅读博客和MSDN文章可能非常有用,但它通常适用于当月的风味。我将建立一个特定的目标来实现并开始研究实现它的设计和策略。

另外,查看一些Microsoft Patterns and Practices material - 它涵盖了广泛的主题,其中许多主题包括设计模式和策略,这些都可能对您学习绳索有所帮助。在Code PlexCode Project上还可以找到很多“示例”项目(虽然我们可以参与代码项目)。

答案 7 :(得分:0)

Nr 1选择:Head First C#

如果你想要学习,那么最好的书就是c#。

答案 8 :(得分:0)

我认为一次了解两个不同的世界是非常困难的。只关注一件事,无论是网络还是桌面。我想你应该读一读这本书:来自Apress的插图C#2008。它会打开你的思想。您将学习C#以及OOP。这将使你的基础变得更强大。在此之后,您可以随时随地进行网络或桌面应用程序开发。

答案 9 :(得分:0)

简单的一步一步:

首先想一想你必须拥有的是MSDN库;从MSDN库脱机或MSDN库在线。由于我在印度尼西亚的带宽有限,我选择离线版。有关于C#和许多样本的文档。我必须从互联网上下载一些样本。

你必须知道逻辑。我认为它是所有软件开发语言的基础。 在今天的编程语言中学习OOP。在C ++中,您将看到多重继承;在C#中,你没有。

研究泛型,特别是如果你想玩至少.NET 2.0

从基本的C#语法开始,在控制台,桌面和Web上制作一些hello world程序。基本输入/输出就像一个输入和输出。

学习高级类似的集合,实现接口,委托,属性,反射,语句,操作符,事件驱动等。修改你的hello world程序,以便你可以使用它。

从简单的应用程序开始,如控制台,Web和Windows中的待办事项列表。这个简单的待办事项列表只需从输入中输入数据并列出要执行的操作。 使用数据库高级应用程序来存储和检索数据。在这里,您将学习ADO> NET

研究设计模式。您将使用设计模式在.NET中看到该基类库。这对于使用C#进行设计很有用。

研究异步原理,如多线程,多处理或其他概念,如锁定和解锁。

研究IO和网络原理。这是好的,因为大多数开发将使用像句柄文件,复制文件或连接到其他服务器。

学习使用注册表,配置文件或其他技术进行配置。

在Windows和.NET中研究安全性概念。你可以在technet,microsoft知识库和MSDN中看到

尝试从您所在城市的测试提供商处获得测试070-536的认证并获得MCP标题。这对你有好处:))

答案 10 :(得分:0)

尝试使用优秀的视频列表http://www.learnvisualstudio.net/快速学习c#

答案 11 :(得分:0)

我还想推荐Charles Petzolds的“.NET Book Zero”,在madman1969的帖子中提到(http://www.charlespetzold.com/dotnet/)。它是免费的,非常好。

我的一位朋友描述了Petzold写的另一本书“老学校的深层知识” - 在下载了他的.NET Book Zero之后,我完全知道他的意思。它从基础知识开始 - 一个控制台“hello World”应用程序,描述非常详细,但总是易于理解(有时真的很有趣),这是什么。

你应该检查一下,我在工作中打印(嘘!)并在当地的一家杂货店进行了切割和绑定。总费用:3欧元。

答案 12 :(得分:0)

MSDN学习C#。我收集了很多教程和视频。

答案 13 :(得分:0)

我已经在推荐这个网站回答类似问题。试试C# Station。它让我开始,也可以帮助你。然而,成为一名优秀的开发人员是一项多年的任务。最重要的是经验,你不会从书籍,杂志或在线资源中获得这些......

答案 14 :(得分:0)

取决于你的背景(例如,你是从另一种OO语言转换,如Java或C ++),但你可以通过大量练习来解决问题 - 也许你自己设定一个项目(你会得到)一些人从中获益并实现这一目标。

如果您以前没有太多关于面向对象编程的经验,那么在主要原则上阅读(以语言无关的方式)可能会有用。

答案 15 :(得分:0)

我发现两本非常有用的书籍Programming C#C# in Depth。这些书面向具有其他语言现有经验的开发人员,如果您经验不足,可能没有帮助。对于刚刚开始学习编程的人来说,其他一些答案可能会有更好的建议。

您可能希望获得Visual C# 2008 Express。它是免费的,功能齐全,您可以非常快速,轻松地开始试验代码。

答案 16 :(得分:0)

取决于,你是否已经是一名优秀的开发人员,如果是这样,你只需要学习语法,否则从底部开始。使用MSDN读取片段并使用codeproject