XNodeEqualityComparer.GetHashCode(XNode) Method

Definition

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

Parameters

obj
XNode

The XNode to hash.

Returns

A Int32 that contains a value-based hash code for the node.

Implements

Examples

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  

Remarks

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.

Applies to

See also