【问题标题】:How to use Left(), Right(), Mid(), and Len() functions in UWP?如何在 UWP 中使用 Left()、Right()、Mid() 和 Len() 函数?
【发布时间】:2019-02-08 18:02:00
【问题描述】:

我正在将 .vb 源文件从 VB.NET Windows 窗体项目移植到我的新 VB UWP 项目中,并且未定义 Left()Right()Mid()Len() 函数.

【问题讨论】:

  • 您是否有理由要使用这些旧版 VB6 函数而不是 String.Substring()String.Length
  • 是的,我会养成从Microsoft.VisualBasic 命名空间中删除任何内容的习惯。有一些不错的异常值,但对于字符串操作,您的代码库会更好。
  • 有什么理由不想使用完美功能的方法和功能? UWP 中没有 numericupdown 是否有原因?
  • @AlessandroMandelli 是的,有。实际上,这是一个很好的例子,说明了为什么你不应该使用它们。如您所见,此处不支持它们,.NET 核心也不支持它们(AFAIK)。您应该坚持使用在 .NET 世界中始终保持一致的方法。
  • 也许我以问题的形式发布我的第一条评论是个错误。我可能被 OP 的声誉所欺骗,并认为他一定知道.Substring().Length。他可能不知道他们,我不应该将其作为问题发布,对此我深表歉意。不过,我确实添加了文档链接,以防万一。

标签: .net vb.net uwp


【解决方案1】:

您可以包含对Microsoft.VisualBasic.dll 的引用来解决这些问题,然后导入命名空间。

UWP 目前不支持您想要的 VisualBasic 字符串方法,尽管有 documentation

请注意,适用于 UWP 应用的 .NET包含每种类型的所有成员。

available string methods 目前仅限于AscW

不过,我还是建议不要使用它们。您想要的每个Microsoft.VisualBasic 方法最终都会调用string.Lengthstring.SubString。我以前也很想念这些,但大多数时候我真正想要的是string.StartsWithstring.EndsWith

另外注意VB的InStr可以被string.IndexOf取代

【讨论】:

  • 您是否尝试过在 UWP 应用中?因为我做到了,但没有成功。
  • @AhmedAbdelhameed 在这种情况下就更清楚了。如果程序集甚至不兼容,您将无法(而且您也不应该)仅粘贴 VB6 代码并使其工作。
  • @AhmedAbdelhameed 表示此处支持:msdn.microsoft.com/en-us/library/mt185497.aspx
  • 也许有人可以纠正我,但是 AFAICT,在 UWP 中 Left()Right()Mid()Len() 不是 Microsoft.VisualBasic 的成员 (虽然它 在其他类型的项目中)。我什至没有使用 UWP 的经验,但我刚刚开始了一个空项目来尝试它,但它没有用。
  • @AhmedAbdelhameed 看起来你是对的。尽管引用了程序集,但唯一可用的实现方法是:docs.microsoft.com/en-us/dotnet/api/…
【解决方案2】:

您可以使用 Substring 方法。

这里有一些例子:

Dim var1 as String="123456789"

Dim var2 as String

var2 = var1.Substring(3,3)  'returns "456"

var2 = var1.Substring(va1.Length - 3, 3) ' returns "789" equivalent of Right(3)

var2 = var1.Substring(3) 'returns "123" equivalent of Left(3).

【讨论】:

  • 如果我知道我为什么被否决,我将不胜感激?非常初学者,尽我所能提供帮助。所以可以在技术上提高我的回答技巧和方法!提前谢谢你。
  • 不是我的 DV,而是指向场外资源的链接不被视为答案。
  • @Plutonix:哦!感谢您的友好回复。我当然会考虑到这一点。
猜你喜欢
  • 2016-04-05
  • 2023-02-11
  • 1970-01-01
  • 1970-01-01
  • 2014-04-30
  • 2017-03-25
  • 2019-06-09
  • 1970-01-01
  • 2018-10-09
相关资源
最近更新 更多