String和String的区别是什么?子字符串和Mid?



我真的很困惑在VB.NET的MidSubstring之间。有没有人可以通过程序帮助我理解这两者的区别?我将不胜感激。

您可以阅读Mid和Substring

的文档最大的区别在于Mid是一个遗留的适配器函数,目的是帮助VB6代码在粘贴到vb.net项目中工作,或者为VB6程序员提供一些熟悉的功能,当他们切换到使用现代的。net等效(子字符串)

作为一个遗留函数,Mid采用了VB6的概念,即字符串是基于1的索引,而不是基于0的索引(几乎所有其他。net都使用),所以任何Mid的开始参数都应该比任何子字符串

大1。
Mid("Hellow World",1,5) 'returns Hello
Substring("Hellow World",0,5) 'returns Hello

Substring有一个推论,Remove,它删除某个点之后的字符,就像Left过去那样。抛弃Left/Mid/Right而使用Substring/Remove可以更容易地理解使用什么/如果传入的字符串使用的是从右到左的语言

最大的区别是Mid不会抛出任何异常,而substring会在任何索引超出范围时抛出。

Dim s = "this".Substring(100, 5000) ' this throws "ArgumentOutOfRange" exception
Dim str = Mid("This", 100, 5000) ' string will equal string.empty

这使得Mid在某些情况下更方便,如果你已经在使用Microsoft。VisualBasic(这不仅仅是一个遗留的命名空间,它甚至在。net core 7中可用)来自以前的项目或其他需要,我不建议更改。

如果你只是出于某种原因不喜欢VB,你可以创建一个扩展方法,让它按照你喜欢的方式工作。

最新更新