在一系列语言中,我一直在学习 C 和 C++。现在我想学习C#。我知道它们之间存在一些巨大的差异 - 例如指针的删除和垃圾收集。但是,我不知道两者之间有很多区别。
C++ 程序员在转向 C# 时需要了解哪些主要区别? (例如,我可以使用什么来代替 STL、它们之间的语法差异或任何其他可能被认为重要的内容。)
C# for C++ Developers 是一个很好的起点。该表列出了两种语言之间最重要的比较。
一旦您探索了其中一些差异,您可能会选择一个您过去用 C++ 编写的独立项目,并用 C# 重新编写它。在第一遍中,您可能最终会使用相同的设计和算法直接进行翻译。随着您对 C# 越来越熟悉,您将认识到如何利用仅在 C# 中提供的语言功能以及极其通用的 .NET Framework。
我认为值得注意的是,指针并没有真正从 C# 中“删除”,但它们仍然存在,它们无处不在,并且被称为“引用”。 Charles Petzold 有一本
.NET Book Zero
与 C++ 相比,C# 更加干净和优雅。它具有更多的 OOP 功能。如果我们认为它是 C++ 的更新版本,那么我们可能就错了。因为 C# 拥有 Java、C++ 和 Visual Basic 的优点。