This topic has not yet been rated - Rate this topic

Extensions.Remove<T> Method (IEnumerable<T>)

Removes every node in the source collection from its parent node.

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)
public static void Remove<T>(
	this IEnumerable<T> source
)
where T : XNode

Type Parameters

T

The type of the objects in source, constrained to XNode.

Parameters

source
Type: System.Collections.Generic.IEnumerable<T>

An IEnumerable<T> of XNode that contains the source collection.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerable<T>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

This method uses snapshot semantics—that is, it copies the attributes in the source collection to a List<T> before disconnecting them from their parents. This is required to avoid issues with mixed imperative/declarative code. For more information, see Mixed Declarative Code/Imperative Code Bugs (C#) (LINQ to XML).

The following example retrieves a collection of elements. It then calls this method to remove the elements from their parent element.

XElement root = new XElement("Root",
    new XElement("Data", 1),
    new XElement("Data", 2),
    new XElement("Data", 3),
    new XElement("Data", 4),
    new XElement("Data", 5)
);

IEnumerable<XElement> elList =
    from el in root.Elements()
    where (int)el >= 3
    select el;

elList.Remove();

Console.WriteLine(root);

This example produces the following output:

<Root>
  <Data>1</Data>
  <Data>2</Data>
</Root>

.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.