13

因为我是一个刚刚完成工程的初学者,并且我对 c、c++ 有很好的了解......我也想过学习 c#,但我发现 c# 4.0 已经发布......

  • 我应该关心以前的版本吗?
  • 您给初学者快速学习 c# 的提示是什么?
  • 从 c,c++ 迁移到 c# 时要考虑哪些因素?
4

11 回答 11

19

C# 4 基本上是所有其他版本的超集,所以如果您了解 C# 4,那么您肯定知道早期版本。另一方面,我认为值得知道哪个版本的内容。我的 C# in Depth 网站上有一些“虚张声势的指南”,其中提供了一些关于 C# 2 和 3 的信息——我很快就会为 C# 4 做一个类似的指南。请参阅此问题以获取每个版本中非常简短的功能列表。

至于从 C 和 C++ 迁移 - 尝试忽略你认为你知道的一切。有些位会相似,有些会完全不同。您应该尝试按照语言期望的方式工作,而不是对其应用 C++ 习语。

您可能想阅读Essential C# 4.0C# 4.0 in a NutshellAccelerated C# 2010。我自己的书 - C# in Depth - 很快就会有第二版,涵盖 C# 4,但它确实是为已经了解 C# 1 的人设计的。

于 2010-04-19T11:12:56.923 回答
5

不,只要买一本关于 4.0 的好书。如果这本书是完整的(即,对于了解 3.5 的人来说,它是完整的),那么它就是完整的。

忘记以前的版本,除非特别要求(目前并非每个商业项目都将使用 4.0)。

尖端?买一本好书,阅读文档。

C/C++ - 欢迎来到托管内存世界。绕过垃圾收集方法。现在。绕过没有指针(你可以操纵)并且不要抱怨它 - 你越快适应那个环境,你感觉越快;)

于 2010-04-19T11:11:45.067 回答
4

我应该关心以前的版本吗?

是的。您至少应该知道旧版本没有 4.0 的哪些功能。

如果您在工作中使用 .NET,很有可能它们还不会达到 4.0。因此,您将需要知道可以使用哪些功能以及必须解决哪些问题。

您给初学者快速学习 c# 的提示是什么?

找一本好书,从头开始。

我会推荐Pro C# 2010 和 .NET 4.0 平台C# In Depth: Second Edition

从 c,c++ 迁移到 c# 时要考虑哪些因素?

了解每个的命名约定和差异。

C/C++ 被编译为本机代码。C# 获得 JIT 编译。

C# 有内存管理。C/C++ 没有(至少不一样)。

C 不是面向对象的语言。C++/C# 是,但每个处理 OO 的方式略有不同。

这些差异将改变您编写/思考代码的方式。

于 2010-04-19T11:12:16.627 回答
1

我应该关心以前的版本吗?

是的你应该。我建议从 2.0 开始,这是所有未来版本的基础,然后逐步学习 3.0、3.5 和最近发布的 4.0 版本。

您给初学者快速学习 c# 的提示是什么?

像大多数语言一样,最大的技巧是使用它。开始编写一些小型应用程序以尝试利​​用通用语言功能,然后继续尝试您感兴趣的框架的不同领域。

于 2010-04-19T11:12:09.510 回答
1

我也是 C# 的初学者。我专注于新技术,因为大多数公司都想要最新的技术。所以我强调了 3.5(并简要浏览了 3.0 和 2.0)。奇怪的是,你不会使用 1.0 或 1.1 来开发一个新项目 如果我是你,我会专注于 4.0 并且对 3.5 有很好的理解

高温高压

于 2010-04-19T13:06:03.263 回答
0
  1. 您应该关心 .NET 3.5。
  2. 学得快?编写大量代码 - 并阅读内容。
  3. C是完全不同的动物。C++ 没有 GC 和其他细节。你会(希望)理解对象。但是 C# 支持许多新事物,例如接口、委托、内置线程、LINQ 等。
于 2010-04-19T11:10:50.073 回答
0

我能给出的最好建议——买一本好书!查看 Wrox 系列 - 他们有非常好的书籍,可以让您快速入门。寻找类似“.NET 4 Beginning”的内容。

不——如果你知道原则,你就不必知道以前版本的所有细节,特别是如果你确信你只会使用新版本.. 但是如果你有时间和愿望- 了解更多信息永远不会有什么坏处,相信我 :)

祝你好运!

于 2010-04-19T11:10:53.433 回答
0

C# 4.0 是以前版本功能的超集。所以你的第一个问题的答案是“不,只是读一本 C# 4.0 的书”。

于 2010-04-19T11:12:45.430 回答
0

.NET 4.0 在以前版本的基础上增加了功能,即使它完全是一种新语言,您仍然需要了解“以前的”版本,因为它仍在行业中使用。好消息是您不需要学习某个版本,只需学习 .NET,然后查找该功能是否存在于以前的版本中。

学习 C# 就像学习任何其他语言一样 - 参加课程、创建宠物项目或边学习边学习(或全部学习)。

当从 C++ 迁移到 C# 时,最大的区别是垃圾收集的存在。幸运的是,c# 与 C++ 非常相似,因此您应该能够从第一天开始虚拟地读取(和写入)它。您应该能够找到一些差异(结构是与 int 类似的值),并且您有一个非常广泛的基类库可以使用。

于 2010-04-19T11:14:33.053 回答
0

学习所有 C# 版本会浪费您的时间。直接学习 C# 4.0,不要忘记 4.0 之前的版本。您使用的 IDE 的掌握程度非常重要。最重要的是,代码,代码,代码。

c、c++ 和 c# 是“兄弟姐妹”,所以你在熟悉的领域。

于 2010-04-19T11:26:02.477 回答
0

到目前为止似乎没有一个答案提到的一个因素是,如果您从头开始构建新的 .NET 4 应用程序,那么以前版本中的许多构造不再相关。

仅仅知道 .NET 4 是以前版本的超集是不够的,您还想知道以前版本的哪些区域基本上已经过时,这样您就可以避免它们并使用新的、更好的构造。

例如,不要使用ArrayList,而是使用泛型List<T>;不要使用Hashtable,使用Hashset<T>Dictionary<T, U>;使用新Task类型而不是线程和同步原语来简化代码;等等等等

于 2010-12-27T06:01:00.617 回答