Extensions.Remove Methode

Definition

Überlädt

Remove(IEnumerable<XAttribute>)

Entfernt jedes Attribut in der Quellauflistung aus seinem übergeordneten Element.Removes every attribute in the source collection from its parent element.

Remove<T>(IEnumerable<T>)

Entfernt jeden Knoten in der Quellauflistung aus seinem übergeordneten Knoten.Removes every node in the source collection from its parent node.

Remove(IEnumerable<XAttribute>)

Entfernt jedes Attribut in der Quellauflistung aus seinem übergeordneten Element.Removes every attribute in the source collection from its parent element.

public:
[System::Runtime::CompilerServices::Extension]
 static void Remove(System::Collections::Generic::IEnumerable<System::Xml::Linq::XAttribute ^> ^ source);
public static void Remove (this System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> source);
static member Remove : seq<System.Xml.Linq.XAttribute> -> unit
<Extension()>
Public Sub Remove (source As IEnumerable(Of XAttribute))

Parameter

source
IEnumerable<XAttribute>

Ein IEnumerable<T> vom Typ XAttribute, das die Quellauflistung enthält.An IEnumerable<T> of XAttribute that contains the source collection.

Beispiele

Im folgenden Beispiel wird eine Auflistung von Attributen abgerufen, und anschließend wird diese Methode aufgerufen, um Sie aus ihren übergeordneten Elementen zu entfernen.The following example retrieves a collection of attributes, and then calls this method to remove them from their parent elements.

XElement root = new XElement("Root",  
    new XAttribute("Att1", 1),  
    new XAttribute("Att2", 2),  
    new XAttribute("Att3", 3),  
    new XAttribute("Att4", 4),  
    new XAttribute("Att5", 5)  
);  
  
IEnumerable<XAttribute> atList =  
    from at in root.Attributes()  
    where (int)at >= 3  
    select at;  
  
atList.Remove();  
  
Console.WriteLine(root);  
Dim root As XElement = <Root Att1="1" Att2="2" Att3="3" Att4="4" Att5="5"/>  
  
Dim atList = From at In root.Attributes _  
             Where at.Value >= 3 _  
             Select at  
  
atList.Remove()  
  
Console.WriteLine(root)  
  

Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:

<Root Att1="1" Att2="2" />  

Hinweise

Diese Methode verwendet die Momentaufnahme Semantik, d. h., Sie kopiert die Attribute in der System.Collections.Generic.List<T> Quell Auflistung in eine, bevor Sie von ihren übergeordneten Elementen getrennt werden.This method uses snapshot semantics - that is, it copies the attributes in the source collection to a System.Collections.Generic.List<T> before disconnecting them from their parents. Dies ist erforderlich, um Probleme mit gemischtem imperativem/deklarativem Code zu vermeiden.This is required to avoid issues with mixed imperative/declarative code. Weitere Informationen finden Sie unter Fehler mit gemischtem deklarativem Code/imperativem Code (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Siehe auch

Remove<T>(IEnumerable<T>)

Entfernt jeden Knoten in der Quellauflistung aus seinem übergeordneten Knoten.Removes every node in the source collection from its parent node.

public:
generic <typename T>
 where T : System::Xml::Linq::XNode[System::Runtime::CompilerServices::Extension]
 static void Remove(System::Collections::Generic::IEnumerable<T> ^ source);
public static void Remove<T> (this System.Collections.Generic.IEnumerable<T> source) where T : System.Xml.Linq.XNode;
static member Remove : seq<'T (requires 'T :> System.Xml.Linq.XNode)> -> unit (requires 'T :> System.Xml.Linq.XNode)
<Extension()>
Public Sub Remove(Of T As XNode) (source As IEnumerable(Of T))

Typparameter

T

Der Typ der Objekte in source, auf XNode beschränkt.The type of the objects in source, constrained to XNode.

Parameter

source
IEnumerable<T>

Ein IEnumerable<T> vom Typ XNode, das die Quellauflistung enthält.An IEnumerable<T> of XNode that contains the source collection.

Beispiele

Das folgende Beispiel ruft eine Auflistung von-Elementen ab.The following example retrieves a collection of elements. Anschließend wird diese Methode aufgerufen, um die Elemente aus dem übergeordneten Element zu entfernen.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);  
Dim root As XElement = _  
    <Root>  
        <Data>1</Data>  
        <Data>2</Data>  
        <Data>3</Data>  
        <Data>4</Data>  
        <Data>5</Data>  
    </Root>  
  
Dim elList = From el In root.Elements _  
             Where el.Value >= 3 _  
             Select el  
  
elList.Remove()  
  
Console.WriteLine(root)  
  

Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:

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

Hinweise

Diese Methode verwendet die Momentaufnahme Semantik, d. h., Sie kopiert die Attribute in der List<T> Quell Auflistung in eine, bevor Sie von ihren übergeordneten Elementen getrennt werden.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. Dies ist erforderlich, um Probleme mit gemischtem imperativem/deklarativem Code zu vermeiden.This is required to avoid issues with mixed imperative/declarative code. Weitere Informationen finden Sie unter Fehler mit gemischtem deklarativem Code/imperativem Code (LINQ to XML).For more information, see Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Siehe auch

Gilt für: