在VB.net中声明一个公共数组

时间:2015-09-15 11:09:42

标签: arrays vb.net

我知道要在VB中声明一个字符串,我会使用行

Dim ExString As String

要声明一个全局字符串,我会使用

Public Shared Property ExString As String

我可以使用它(假设它保存在名为GlobalVars的类中)

MsgBox(GlobalVars.ExString)

我也知道要声明一个字符串数组

Dim ExString(3) As String

然而,声明一个公共数组似乎不一样,行:

Public Shared Property ExString(3) As String

似乎不起作用。
我想知道如何在visual basic中声明一个公共的字符串数组? 我正在使用Visual Studio 2010,如果这有所不同。

提前致谢

2 个答案:

答案 0 :(得分:0)

您不能将长度(3)添加到变量中,因为Visual Studio会唠叨:

  

预期的标识符。

但你可以这样做:

Public Shared Property MyString As String() = New String() { "abc", "def", "ghi"}

答案 1 :(得分:0)

如果只需要一个变量实例,则需要一个静态成员。静态成员属于类,而不是单个对象。 VB将它们称为共享成员,因为您可以想象在所有实例之间共享相同的变量:

Public Class Form1

Public Shared ShuffleArray() As Integer

End Class


ReDim Form1.ShuffleArray(52)
Form1.ShuffleArray(0) = 10

或者,您可以创建包含变量的模块。模块是一种特殊类型的类,其中发生了两件神奇的事情。首先,所有成员都在全局名称空间中,因此您不需要模块名称来访问它们。其次,所有成员都是自动静态的。

Module GlobalConstants

Public ShuffleArray() As Integer

End Module


ReDim ShuffleArray(51)
GlobalConstants.ShuffleArray(0) = 10
Console.WriteLine(ShuffleArray(0)) ' output : 10

我认为如果您不想修复5个值,这将有助于您的目的。