数组 - 字符串和整数

时间:2016-05-01 23:44:28

标签: arrays vb.net

有人可以帮我讲述如何声明一个可以携带字符串和整数的2D数组吗?

我想存储像

这样的值
Name1 Roll Number1
Name2 Roll number2

谢谢你们俩。这有点消化。虽然,我不明白这些代码,但我很高兴能够学习....我认为值得分享一下我想要完成的事情。我相信你们有一个更聪明的方法来执行它。我有2个文本文件可以携带部件号例如。让我们说

文件1: PartA_Rev001 PartB_Rev001 PartD_Rev001 PartC_Rev001 PartC_Rev001

文件2: PartA_Rev002 PartB_Rev002 PartD_Rev002 PartC_Rev001

最后,我需要打印'在文件2中,删除PartC_Rev001的一个实例'

为此,我将文件读入2个暗淡的数组。作为下一步,我想到并计算两个阵列的重复并最终比较它们 看起来很麻烦,但想不出更好的逻辑!

2 个答案:

答案 0 :(得分:0)

您可以将数组声明为Object

Dim arr(0 to 10, 0 to 1) As Object

但是你不应该 而是使用必填字段声明ClassStructure,并声明其中的一维数组。

Public Structure Data
    Public Name As String
    Public RollNumber As Integer
End Structure

Dim arr(0 To 10) As Data

答案 1 :(得分:0)

我喜欢使用列表和自定义类。它非常像GSerg的示例,但我发现列表更容易管理,如果需要,您总是可以从列表中派生出一个数组。

Public Class MyCustomClass
    Private _Name1 as string
    Private _Roll1 as integer

    Property Name1() as string
    Get()
       if not isnothing(_Name1) then
          Return _Name1
       else
          Return "Nothing"
       End if
    End get
    Set(Value as string)
       _Name1 = value
    End Set
 Property Roll1() as integer
    Get() as integer
          Return _roll1
    End get
    Set(Value as integer)
       _Roll1 = value
    End Set

   sub new(RollersName1 as string, Rollvalue1 as integer)
      Name1 = Rollersname1
      Roll1 = Rollvalue1
   end sub
end class

用法

Dim Rolls as new list(of MyCustomClass)
Rolls.add(new MyCustomClass("Henry", 6))
Rolls.add(new MyCustomClass("manny", 2))
Rolls.add(new MyCustomClass("Henry", 5))
Rolls.add(new MyCustomClass("manny", 2))
Rolls.add(new MyCustomClass("Henry", 1))
Rolls.add(new MyCustomClass("manny", 6))


for each R as MyCustomClass in Rolls

   Console.writeline("Player: " & R.Name1 & " Rolled a " & R.roll1.tostring())
next