当前位置:  开发笔记 > 编程语言 > 正文

VB.NET空字符串数组

如何解决《VB.NET空字符串数组》经验,为你挑选了5个好方法。

如何创建一个空的一维字符串数组?



1> Mark Bracket..:

VB 在数组声明中是0索引的,所以类似的东西Dim myArray(10) as String给你11个元素.从C语言翻译时,这是一个常见的错误.

因此,对于一个空数组,以下任何一个都可以工作:

Dim str(-1) as String ' -1 + 1 = 0, so this has 0 elements
Dim str() as String = New String() { } ' implicit size, initialized to empty


我总是将Dim str()作为String = New String(){},因为我觉得这是查看它是一个EMPTY字符串数组"{}"的最佳方式
Mark,Dim str(0)生成一个长度为1且在索引0处为NULL的数组.第二个,Dim str()... {}生成一个长度为零的空数组,如YonahW所需.

2> 小智..:

Dim strEmpty(-1)As String


更新......我们发现以下内容相同且仪式较少:Dim myArray()= New String(){}
Upvote因为它是正确的.但是,为了清楚起见,我更喜欢Dim strEmpty()As String = New String(){},因为Mark提供并且SoMoS赞同.但是,Mark描述了两种不相同的技术......请参阅评论.
一个简单的Dim empty As String = {}是最优雅的版本

3> Joel Coehoor..:

您创建的数组Dim s(0) As String 不是EMPTY

在VB.Net中,您在数组中使用的下标是最后一个元素的索引.VB.Net默认开始索引为0,因此你有一个已经有一个元素的数组.

你应该尝试使用System.Collections.Specialized.StringCollection或(甚至更好)System.Collections.Generic.List(Of String).它们与字符串数组几乎完全相同,除非它们更适合添加和删除项目.说实话:你很少会创建一个字符串数组而不想添加至少一个元素.

如果你真的想要一个空字符串数组,请按如下方式声明:

Dim s As String()

要么

Dim t() As String


Joel,这不提供请求的行为.这些中的每一个,t和s都是Nothing.YonahW想要一个GR8DA解决方案提供的空数组,虽然我更喜欢:Dim strEmpty()As String = New String(){}

4> 小智..:

您不必包含两次String,也不必使用New.
以下任何一种都可以工作......

Dim strings() as String = {}
Dim strings as String() = {}



5> Chris Zwiryk..:

就像是:

Dim myArray(9) as String

会给你一个10个String引用的数组(每个引用都指向Nothing).

如果您在声明时不确定大小,可以声明一个这样的String数组:

Dim myArray() as String

然后你可以将它指向一个大小合适的字符串数组:

ReDim myArray(9) as String

如果您不知道总大小并且需要动态填充它,ZombieSheep是关于使用List的.在VB.NET中将是:

Dim myList as New List(Of String)
myList.Add("foo")
myList.Add("bar")

然后从该列表中获取一个数组:

myList.ToArray()

@标记

谢谢你的纠正.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有