VB.NET中的Left和Right vs. Substring()

时间:2011-08-10 20:39:31

标签: vb.net

您更喜欢从给定字符串中提取子字符串,为什么?

我在想,因为LeftRight是VB函数而不是.NET函数,所以它们在兼容性方面可能会引起问题。

请澄清我的想法。

3 个答案:

答案 0 :(得分:8)

使用最有意义的东西,即使这段代码更容易阅读。

我不知道为什么你认为他们将来会出现问题,他们是功能,他们是作为VB.Net语言集的一部分提供的,有没有世俗的理由为什么他们会被删除,即使他们是,他们将重新实施

使用'em,因为你不会失去他们

答案 1 :(得分:2)

当给出来自Microsoft.VisualBasic的特征与核心框架集合中提供的类似特征之间的选择时,我倾向于在大多数情况下坚持使用后者。

我出于各种原因这样做:

  • 更多开发人员倾向于理解它。 (例如C#看着我的VB.NET代码)。
  • 您更有可能找到核心框架版本的在线帮助(留言板,堆栈溢出等),而不是VB版本。
  • 使用它们可以让您的代码感受到“遗留”的感觉。这就像使用Call声明一样。
  • 让其他人更容易将VB.Net代码“复制并粘贴”到他们的C#(或其他.NET语言)项目中,并使其少一个语言翻译点/挂起。 (不太可能这是一个真正的问题/原因,但我知道我已经多次“复制和粘贴”示例C#代码到我的VB.Net项目中以及在翻译过程中不会导致路障的任何事情(例如使用yield)可以让我的生活更轻松。)
  • 虽然完全不可思议但它们正在消失(因为大多数这些关键字/语句都是BASIC语言结构),它们感觉更容易被标记为过时他们的核心框架对应物。特别是随着VB6变得越来越遥远,VB.NET语言与核心.NET框架相结合,呈现出自己的生命。

一个值得注意的例外,我倾向于使用提供的My namespace代理; My.FileSystem.ReadAllText(...)只是性感。 :P

答案 2 :(得分:1)

你一个人工作吗?

如果不是,那么决定很简单。

  • 如果您的团队成员有 C#背景,请使用Substring
  • 如果您的开发人员有一些 VB6背景,请使用LeftRight
  • 如果你不确定,请问他们。