SiteMapNodeCollection.Contains(SiteMapNode) メソッド

定義

特定の SiteMapNode オブジェクトがコレクションに格納されているかどうかを確認します。Determines whether the collection contains a specific SiteMapNode object.

public:
 virtual bool Contains(System::Web::SiteMapNode ^ value);
public virtual bool Contains (System.Web.SiteMapNode value);
abstract member Contains : System.Web.SiteMapNode -> bool
override this.Contains : System.Web.SiteMapNode -> bool
Public Overridable Function Contains (value As SiteMapNode) As Boolean

パラメーター

value
SiteMapNode

SiteMapNodeCollection 内で検索される SiteMapNodeThe SiteMapNode to locate in the SiteMapNodeCollection.

戻り値

Boolean

指定した SiteMapNodeSiteMapNodeCollection に含まれている場合は true。それ以外の場合は falsetrue if the SiteMapNodeCollection contains the specified SiteMapNode; otherwise, false.

Containsクラスのメソッドとメソッドを使用する方法を次のコード例に示し IndexOf SiteMapNodeCollection ます。The following code example demonstrates how to use the Contains and IndexOf methods of the SiteMapNodeCollection class. このコードでは、2つのプロバイダー ( AspNetXmlSiteMapProviderMyXmlSiteMapProvider ) が重複しているルートノードの子ノードをチェックします。The code checks two providers, AspNetXmlSiteMapProvider and MyXmlSiteMapProvider, for child nodes of the root node that are duplicates.

String providername1 = "AspNetXmlSiteMapProvider";
String providername2 = "MyXmlSiteMapProvider";
SiteMapProviderCollection providers = SiteMap.Providers;

if (providers[providername1] != null && providers[providername2] != null)
{
  SiteMapProvider provider1 = providers[providername1];
  SiteMapProvider provider2 = providers[providername2];
  SiteMapNodeCollection collection1 = provider1.RootNode.ChildNodes;
  SiteMapNodeCollection collection2 = provider2.RootNode.ChildNodes;
  int matches = 0;
  foreach (SiteMapNode node in collection1)
  {
    if (collection2.Contains(node))
    {
      Response.Write("Match found at " +
        providername1 + ", index = " +
        collection1.IndexOf(node) + " with " +
        providername2 + ", index = " +
        collection2.IndexOf(node) + ".<br />");
      matches++;
    }
  }
  Response.Write("Number of matches found = " +
    matches.ToString() + ".");
}
else
{
  Response.Write(providername1 + " or " +
    providername2 + " not found.");
}
Dim providername1 As String = "xAspNetXmlSiteMapProvider"
Dim providername2 As String = "MyXmlSiteMapProvider"
Dim providers As SiteMapProviderCollection = SiteMap.Providers

If Not (providers(providername1) Is Nothing) AndAlso Not (providers(providername2) Is Nothing) Then
  Dim provider1 As SiteMapProvider = providers(providername1)
  Dim provider2 As SiteMapProvider = providers(providername2)
  Dim collection1 As SiteMapNodeCollection = provider1.RootNode.ChildNodes
  Dim collection2 As SiteMapNodeCollection = provider2.RootNode.ChildNodes
  Dim matches As Integer = 0
  Dim node As SiteMapNode
  For Each node In collection1
    If collection2.Contains(node) Then
      Response.Write("Match found at " & _
      providername1 & ", index = " & _
      collection1.IndexOf(node) & " with " & _
      providername2 & ", index = " & _
      collection2.IndexOf(node) & ".<br />")
      matches += 1
    End If
  Next node
  Response.Write("Number of matches found = " & _
  matches.ToString() + ".")
Else
  Response.Write(providername1 & " or " & _
  providername2 & " not found.")
End If    

注釈

メソッドは、 Contains メソッドを呼び出すことによって等価性を判断し Object.Equals ます。The Contains method determines equality by calling the Object.Equals method.

適用対象

こちらもご覧ください