私は配列の配列を持っています:
Dim IDMUsers As List(Of Array)
この配列に情報を入力します。例:[{Data1a、Data2a、Data3a、....、Data30a}、{Data1b、Data2b、Data3b、....、Data30b}、{Data1c、Data2c、Data3c、....、Data30c}]
ここで、たとえば「Data3b」を見つける必要があり、関数はその場所にあるレジスタ番号を返す必要があります。この場合、レコード番号2を返す必要があります。つまり{Data1b、Data2b、Data3b、....、Data30b}
私はVB.Netで働いています。
私のコードは次のとおりです。
Sub Main()
Dim TecoReader As New FileManagement
Dim IDMUsers As List(Of Array)
' Populate Array
IDMUsers = TecoReader.ReadFromFile(My.Settings.ActivosIDMFilePath, My.Settings.CharSeparator)
Console.writeline (SearchInArray("text"))
end sub
Private Function SearchInArray(ByVal ToSearchFor As String) As String
For Each Register In IDMUsers
For Each Field In Register
If Field = ToSearchFor Then
Return Register(26) & " - " & Register(27)
End If
Next
Next
Return ""
End Function
SeachInArray関数で動作しますが、大きな配列(20Kレジスタ)があるため、非常に遅く、より良いアプローチが必要です。