XNode.EqualityComparer Property
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Gets a comparer that can compare two nodes for value equality.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
Property Value
Type: System.Xml.Linq.XNodeEqualityComparerA XNodeEqualityComparer that can compare two nodes for value equality.
The following example uses this property to retrieve an XNodeEqualityComparer, which implements the System.Collections.IEqualityComparer and System.Collections.Generic.IEqualityComparer(Of T) interfaces. It creates a dictionary that uses this property.
The following example creates an XML tree with some elements. It then creates a List(Of T) of XNode that contains some elements from the XML tree at random. It sorts the list, using this property to retrieve a XNodeDocumentOrderComparer, which implements the System.Collections.IComparer and System.Collections.Generic.IComparer(Of T) interfaces.
StringBuilder output = new StringBuilder(); XElement xmlTree = new XElement("Root", new XElement("Child1", 1), new XElement("Child2", 2), new XElement("Child3", 3), new XElement("Child4", 4), new XElement("Child5", 5) ); Dictionary<XNode, string> nodeDictionary = new Dictionary<XNode, string>(XNode.EqualityComparer); nodeDictionary.Add(xmlTree.Element("Child5"), "Child 5 Information"); nodeDictionary.Add(xmlTree.Element("Child3"), "Child 3 Information"); nodeDictionary.Add(xmlTree.Element("Child1"), "Child 1 Information"); string str = nodeDictionary[xmlTree.Element("Child3")]; output.Append(str + Environment.NewLine); OutputTextBlock.Text = output.ToString();