2

データベースから次の値を含む、厳密に型指定された多次元配列またはコレクションを作成したいと考えています。

  • ファイル名 (文字列として)
  • ファイルサイズ (整数として)

要件:

  • インデックス経由でアクセス可能 (例: Arr(i)(j)、Arr.Row(i) など)
  • 効率的 (つまり、高速でリソースを集中的に使用しない)
  • 簡単に操作、追加、追加など
  • .NET 3.5 互換

すばらしい回答をありがとうございます。これが私が行ったものです... :)

Structure FileRecord
    Dim Name As String
    Dim Size As Integer

    Sub New(ByVal FileName As String, ByVal FileSize As Integer)
        Me.Name = FileName
        Me.Size = FileSize
    End Sub
    Sub New(ByVal Files() As FileRecord)
        For Each f As FileRecord In Files
            Dim fr As New FileRecord(f.Name, f.Size)
        Next
    End Sub
End Structure
4

4 に答える 4

4

2 つの異なる型を含む多次元配列を使用することはできません。

代わりに、通常はList(Of T)、データを含むカスタム クラスを含む 1 次元配列 (または ) を作成します。

あなたの場合、次のようなものが必要になる場合があります。

Public Class FileRecord
    Public Property Name As String
    Public Property Size as Integer
End Class

次に、List(Of FileRecord)データを保持する を作成します。その後、次のようにこれにアクセスできます。

Dim nameAtIndex = theList(i).Name
Dim sizeAtIndex = theList(i).Size
于 2012-06-08T18:19:14.217 に答える
3

ジェネリック リスト コレクションを使用できます。

Public Class MyItem   
  Public Property  FileName As String
  Public Property  FileSize As Integer   
End Class

これでリストを取得できます:

Dim MyItems AS List(Of MyItem)
于 2012-06-08T18:18:00.263 に答える
1

厳密に型指定されているわけではありませんが、HashTableクラスは大量のデータの保存と取得に最適であることに注意してください。FileName が一意の場合、それがキーになります。さらに、ハッシュテーブルを別のクラスでラップし、追加と取得のために厳密に型指定されたメソッドを提供できます。

このSO 投稿への回答によると、 Dictionary(of T)はハッシュテーブルの一般的な実装を提供します。調べる価値があるかもしれません。

于 2012-06-08T18:33:20.183 に答える
0

とてもシンプルにしましょう。プログラマーが物事を必要以上に複雑にするのは本当に嫌いです。

Dim Multi_Dimensional_Array As Object(,) = _
        {{"Item 1", "1", "2", "3", "4", "5"}, 
         {"Item 2", "6", "7", "8", 9"", "No More Items"}}

必要に応じて、「オブジェクト」から「文字列」に変更できます。

于 2014-04-07T19:11:26.243 に答える