私は2つのクラスのこれらの部分的なリストを持っています。 CiscoSwitchオブジェクトは、SwitchConnectionオブジェクトのリストを他のスイッチに保持します。私は、スイッチのリストを歩き回り、共通の接続を持つスイッチをお互いに、または他のスイッチの接続リストにリストされている同じRemoteSwitchNameに戻すコードを書こうとしていますが、リストにない可能性があります。 CiscoSwitches私は協力しています。さらに多くのプログラムロジックアシスタンスが要求されました
たとえば、A、B、Cという3つのCiscoSwitchインスタンスのリストがある場合、AとBは互いに接続されている可能性があります。 BとCは直接接続されていないかもしれませんが、両方ともDに接続されているかもしれません。AはまたDに接続されるかもしれません。私は、各スイッチ接続のRemoteSwitchName属性をリスト内の他のスイッチのswitchNameプロパティ他のスイッチ上の他のSwitchConnectionsのRemoteSwitchNameプロパティ。
可能であれば、多くのforeachループではなく、LINQを使用することをお勧めします。
public CiscoSwitch
{
private string _SwitchName = String.Empty
public string switchName{ get{return _SwitchName;} set{_SwitchName=value;} }
...
public List<SwitchConnection> SwitchConnectionList = new List<SwitchConnection>();
...
}
public class SwitchConnection
// a switch connection is a connection to another switch
// a switch connection can have multiple portchannels
// a switch connection can exist across multiple VSANs
{
// the name of this switch
// not needed, deprecated
// private string _LocalSwitchName;
// public string LocalSwitchName { get { return _LocalSwitchName; } set { _LocalSwitchName = value; } }
// the name of the switch at the other end of the link
private string _RemoteSwitchName;
public string RemoteSwitchName { get { return _RemoteSwitchName; } set { _RemoteSwitchName = value; } }
private string _RemoteIPAddress;
public string RemoteIPAddress { get { return _RemoteIPAddress; } set { _RemoteIPAddress = value; } }
public Dictionary<int, PortChannel> LocalPortChannelList = new Dictionary<int,PortChannel>();
}
あなたは私たちに話をし、私たちにいくつかのコードを示しました。実際の質問は何ですか?何を試しましたか? – svick
-1:不明な質問の部分に加えて、質問のタイトルが本当に悪いです。 –
質問は私がしたいことをする方法です。私はそれが私が掲示したもので明らかだったと思った。 「どのようにしてスイッチのリストをトラバースし、スイッチ間の共通の接続を、相互にもリストにもないスイッチに戻すにはどうすればよいですか」という質問の形で再表示されます。私が試したことに関しては、ネストされたforeachループでいくつかの試みを行いましたが、@ radarbobの投稿を読んだ後、クラスにいくつかのメソッドを追加する必要があります。 –