0

サーバーの名前と IP アドレスにその場でアクセスできるように、ある種のサーバーのインデックス リストを作成する方法を VB.net で探しています。私は List Class と Dictionary オブジェクトの両方を見てきましたが、この場合にうまくいくかどうかはわかりません。

基本的に、宣言するときにこれに似た構造が欲しいですServersList-

chkTTSA - Name = TTSA
          IPAddress = 192.168.1.6
chkTTSB - name = TTSA
          IPAddress = 192.168.1.7

ServerList次に、ディクショナリをループしてデータにアクセスするときに、名前と IP アドレスを使用して別のディクショナリを作成したいと考えています。

ServersToPing(ServersList(Name)) = ServersList(IPAddress)

現在、 とDictionaryの両方Nameにfor を使用しIPAddressていますが、将来的にはサーバー情報を追加したいので、Dictionaryそれぞれに for を使用するのは効率が悪いと思われます。

これが私が望む正確な方法で可能かどうかはわかりませんが、目標を達成する方法について誰かが私にいくつかの指針を与えることができれば幸いです.

4

1 に答える 1

0

すべての有益なコメントのおかげで、クラスを使用して必要なことを達成する方法を考案することができました。

この方法はスケーラブルであり、将来、必要に応じてより多くの情報を簡単に追加できるようになります。

Partial Public Class SingleServer

    Public ReadOnly Name As String
    Public ReadOnly IPAddress As String
    Public ReadOnly Ping As Boolean

    '**
    ' Constructor
    '*
    Public Sub New(SingleName As String, SingleIPAddress As String, Optional SinglePing As Boolean = False)

        Name = SingleName
        IPAddress = SingleIPAddress
        Ping = SinglePing

    End Sub

End Class

使用するには、まず SingleServer オブジェクトのインスタンスを初期化します...

Public ReadOnly ServersList As New Dictionary(Of String, SingleServer)

...そして、必要に応じて情報を追加できます...

ServersList("chkTTSA") = New SingleServer("TTSA", "192.168.1.6")

将来、私が知っているようにサーバーを明示的に宣言するのではなく、テキストファイルでサーバーを宣言し、プログラムに必要なチェックボックスを追加させたいと思うかもしれません。

于 2013-04-09T11:23:41.810 に答える