我希望切换到 C#。我来自 C / C++ 背景,但 C# 对我来说有点不同。我切换主要是因为 Silverlight 和 MVVM;所有示例都在 C# 中。任何信息都在 C# 中,当我通读它时我很困惑。
从现有的 C/C++ 知识开始学习 C# 的好地方是什么?
我希望切换到 C#。我来自 C / C++ 背景,但 C# 对我来说有点不同。我切换主要是因为 Silverlight 和 MVVM;所有示例都在 C# 中。任何信息都在 C# 中,当我通读它时我很困惑。
从现有的 C/C++ 知识开始学习 C# 的好地方是什么?
尽快开始用 C# 编写代码。学习语言的唯一方法就是写它。您已经了解 VB.NET。对于 .NET 的任何新手,您都拥有巨大的领先优势。
拿一个用 VB.NET 编写的小型应用程序,并有条不紊地将其转换为 C#。
您将快速学习语法等。
用 C# 编写您未来的所有项目。只要强迫自己改变,你就会做得很好。
Wikipedia 文章“ C Sharp(编程语言) ”是对 C# 作为一种语言的不错介绍。
阅读最好的 C# 书籍。:)
在学习了 VB.NET 后不久,我决定我宁愿编写 C#。我通过阅读几本书和一个项目来学习它。慢慢地,我让我的同事也从 VB.NET 转换为该语言。语言非常相似,一些代码转换只是改变语法的问题。
但是,如果您曾经使用过真正的 VB'er,您会看到在他们的代码中使用的 VB 特定函数会让您摸不着头脑。例如,您必须转换字符串处理函数和转换函数。此外,C# 没有RaiseEvent
. 在 C# 中理解事件需要付出更多努力,因为您需要将注意力集中在委托(C++ 函数指针/回调)上。正如其他人所说,如果您来自 C++,这应该不会太难。
许多人继续需要在一个项目上工作以理解一种语言,我同意这一点。但是,如果您不拿起几本书并阅读它们,您将永远不会知道语言的某些功能。仅仅通过阅读几本书,我就能够向我的同事展示许多有用的技术。
最后,C# 是一门很棒的语言。当我第一次开始使用 .NET 时,我非常怀疑,但现在我知道 MS 为该框架和语言找到了合适的人才。
祝你好运。
正如您所了解的 C++(正如您在问题中所写)和 VB.Net(正如您在标题中提到的),如果您对它们都非常了解,C# 对您来说并不难。如果是这种情况,只需获取C# 中的任何源代码,然后阅读即可。
顺便说一句,来自维基百科的文章是一个非常好的介绍。
可能对您有用的一件事是使用转换器
随着您对语言的熟悉,逐渐减少对转换器的依赖。
这足以让您入门,但是 C# 具有 VB 所没有的语言功能,或者 VB 提供的方式过于冗长以至于没有人真正使用它。
当您查看来自网络的代码示例时(例如堆栈溢出),您会遇到更多的功能,您需要手动查找语法或函数,或者从 C# 转换回 vb 以了解它在做什么(使用相同的转换器)。或者,只需将其粘贴并查看它的作用。