【问题标题】:Going from C# to VB.NET - Resources?从 C# 到 VB.NET - 资源?
【发布时间】:2011-05-27 09:08:56
【问题描述】:

虽然我过去使用过 Visual Basic(VB 4、5 和 6),但自从 .NET 框架首次发布以来,我一直在使用 C#。对于一个即将到来的项目,我被要求在 VB.NET 中工作,所以我试图跟上 VB.NET 的速度。任何人都可以向希望快速熟悉 VB.NET 的 C# 开发人员推荐任何资源(书籍、文章等)吗?

编辑:我觉得我应该强调,由于某些 cmets,我不想比较每种语言的各种价值(C# 与 VB.NET)。这种比较在很多方面都是主观的。相反,我是说我自己并不那么精通 VB.NET,考虑到我的经验是使用 C#,我正在寻找能够让我学习 VB.NET 的资源。

【问题讨论】:

  • 我可以推荐的最佳资源是 4 线索。你会需要它的,相信我。
  • @cdhowie 我看不出该评论如何帮助提高任何人的知识。
  • 您会发现一件好事:在最新版本的 VB .NET 中,如果您不小心以分号结束了一行,编辑器会为您删除它。
  • @Michael:根据我的个人经验,VB.NET 开发人员的软件开发技能不如 C# 开发人员成熟。 (当然,这并非在所有情况下都是如此,但总的来说,它是准确的——再次,根据我的经验。)所以我试图传达的知识是他可能必须处理的事情之一在 VB.NET 环境中是程序员的技能比他自己低得多。做好心理准备可能与复习 VB.NET 语法一样重要。
  • @cdhowie:你的第一条评论很傲慢,根本没有帮助。这样的 cmets 往往会降低您可能拥有的其他 cmets 的价值和可信度。

标签: c# .net vb.net


【解决方案1】:

在处理布尔逻辑时永远不要忘记这一点:

AndAlso 而不是And

OrElse 而不是Or

【讨论】:

  • 我大体上同意,但在某些情况下可能不是这样,所以我建议 OP 阅读这个问题stackoverflow.com/questions/55013/… 以获取有关此答案的更多信息。
  • 我只知道来自 c++ 的我对 AndAlso/OrElse 短路要求感到目瞪口呆。我认为期望 And 和 Or 表现为 && 和 || 是完全合理的。这样做,很快就会给你带来麻烦。
  • 我对@9​​87654330@ 和Or 的看法是,它们是.NET 之前的遗留包袱。由于显然对差异仍有很多困惑,我会说避免它们是一个很好的一般建议。如果您确实需要确保表达式的“B”部分发生,请单独执行它并将其结果存储在变量中。没有人会为此感到困惑。
【解决方案2】:

深入研究。说真的,这是最好的学习方式。在功能上,它们现在大多相同。

对我来说,主要区别是

  • 在 VB.Net 中缺乏对迭代器 (yield return) 的支持(即将在下一版本中提供)
  • VB.Net 中的 XML 文字在 C# 中不可用。作为一名 C# 开发人员,这些天在处理 XML 时,我很多时候更喜欢 VB...
  • linq 查询语法在 VB 中表现不同(在 VB 中乍一看更丰富,但在 C# 中更加一致)

除此之外,主要是语法

哦,别忘了把 Option Strict 和 Option Infer 放在...级别)。

【讨论】:

    【解决方案3】:

    这是比较两种语言的链接:http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

    事实上,在 .Net 4.0 中,它们几乎相同。语法不同(显然),但它们的功能几乎相同。这是现在的设计,Microsoft 计划从现在开始共同发展它们,因此将向两者添加新功能。

    【讨论】:

      【解决方案4】:

      我同时使用这两种方法,如果您了解 C# 并了解 VB6 语法,那么将很容易上手(我从 C# 开始,因为我有更多 C++ 背景,但我也有一些 VB6,所以这很容易开始在 VB.Net 上工作)。

      您需要不时查找一些内容,但正如 Kevin 所说,它们或多或少是同一种语言。无论如何,这些语言本身并没有那么大,所以学习起来也不是很困难,学习 .Net 框架需要很多时间,所以你知道已经写了什么,在哪里可以找到它,以及你对它的了解转移。

      【讨论】:

        【解决方案5】:

        转到 msdn Visual Basic 开发人员中心,您会在那里找到大量信息

        http://msdn.microsoft.com/en-us/vbasic/default

        这里是学习指南

        http://searchwindevelopment.techtarget.com/tutorial/Choosing-VBNET-or-C-Learning-Guide

        【讨论】:

          【解决方案6】:

          Google 非常适合检查语法差异(搜索“在 vb.net 中等效的 C# 关键字”)。 MSDN 也擅长在 VB 和 C# 中提供代码示例。

          这个online conversion tool 通常也很有帮助。

          【讨论】:

            【解决方案7】:

            除了短路运算符之外,还有一件事可能会让您感到困惑,那就是没有初始化您的变量。看起来您不必这样做,但如果您处于循环中,您实际上必须这样做。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2023-04-09
              • 2018-01-11
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-06-09
              相关资源
              最近更新 更多