XNodeEqualityComparer.GetHashCode(XNode) メソッド

定義

XNode に基づいてハッシュ コードを返します。Returns a hash code based on an XNode.

public:
 virtual int GetHashCode(System::Xml::Linq::XNode ^ obj);
public int GetHashCode (System.Xml.Linq.XNode obj);
override this.GetHashCode : System.Xml.Linq.XNode -> int
Public Function GetHashCode (obj As XNode) As Integer

パラメーター

obj
XNode

ハッシュする XNodeThe XNode to hash.

戻り値

ノードの値に基づくハッシュ コードが格納された Int32A Int32 that contains a value-based hash code for the node.

実装

次の例では、このメソッドを使用して、XML ツリーの詳細なハッシュコードを取得します。The following example uses this method to get a deep hash code for an XML tree.

XElement xmlTree = new XElement("Root",  
    new XAttribute("Att1", 1),  
    new XAttribute("Att2", 2),  
    new XElement("Child1", 1),  
    new XElement("Child2", "some content")  
);  
XNodeEqualityComparer equalityComparer = new XNodeEqualityComparer();  
Console.WriteLine("HashCode: {0}", equalityComparer.GetHashCode(xmlTree).ToString("X"));  
xmlTree.Add(new XElement("NewChild", "new content"));  
Console.WriteLine("HashCode: {0}", equalityComparer.GetHashCode(xmlTree).ToString("X"));  

この例を実行すると、次の出力が生成されます。This example produces the following output:

HashCode: 958CCD0  
HashCode: AD26516B  

注釈

GetHashCodeXNode の実装は、ノードの参照 id に基づいています。The XNode implementation of GetHashCode is based on the referential identity of the node. このメソッドは、ノードとすべての子孫の値に基づいて詳細なハッシュコードを計算します。This method computes a deep hash code based on the value of the node and all descendants. ハッシュコードには、すべての属性とすべての子孫ノードが反映されます。The hash code reflects all attributes and all descendent nodes.

適用対象

こちらもご覧ください