This topic has not yet been rated - Rate this topic

XNode.EqualityComparer Property

Gets a comparer that can compare two nodes for value equality.

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)
public static XNodeEqualityComparer EqualityComparer { get; }

Property Value

Type: System.Xml.Linq.XNodeEqualityComparer
A 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<T> interfaces. It creates a dictionary that uses this property.

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")];
Console.WriteLine(str);

This example produces the following output:

Child 3 Information

.NET Framework

Supported in: 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.