Język

Extensions.Remove Metoda

Definicja

Przeciążenia

Nazwa Opis
Remove(IEnumerable<XAttribute>)

Usuwa każdy atrybut w kolekcji źródłowej z elementu nadrzędnego.

Remove<T>(IEnumerable<T>)

Usuwa każdy węzeł w kolekcji źródłowej z węzła nadrzędnego.

Remove(IEnumerable<XAttribute>)

Źródło:
Extensions.cs
Źródło:
Extensions.cs
Źródło:
Extensions.cs
Źródło:
Extensions.cs
Źródło:
Extensions.cs

Usuwa każdy atrybut w kolekcji źródłowej z elementu nadrzędnego.

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);
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))

Parametry

source
IEnumerable<XAttribute>

IEnumerable<T> Element XAttribute zawierający kolekcję źródłową.

Przykłady

Poniższy przykład pobiera kolekcję atrybutów, a następnie wywołuje tę metodę, aby usunąć je z elementów nadrzędnych.

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)

Ten przykład generuje następujące wyniki:

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

Uwagi

Ta metoda używa semantyki migawek — czyli kopiuje atrybuty w kolekcji źródłowej do System.Collections.Generic.List<T> elementu przed odłączeniem ich od elementów nadrzędnych. Jest to wymagane, aby uniknąć problemów z mieszanym kodem imperatywnym/deklaratywnym. Aby uzyskać więcej informacji, zobacz Mieszany kod deklaratywny/Usterki kodu imperatywnego (LINQ to XML).

Zobacz też

Dotyczy

Remove<T>(IEnumerable<T>)

Źródło:
Extensions.cs
Źródło:
Extensions.cs
Źródło:
Extensions.cs
Źródło:
Extensions.cs
Źródło:
Extensions.cs

Usuwa każdy węzeł w kolekcji źródłowej z węzła nadrzędnego.

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;
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))

Parametry typu

T

Typ obiektów w obiekcie sourceograniczony do XNode.

Parametry

source
IEnumerable<T>

IEnumerable<T> Element XNode zawierający kolekcję źródłową.

Przykłady

Poniższy przykład pobiera kolekcję elementów. Następnie wywołuje tę metodę, aby usunąć elementy z ich elementu nadrzędnego.

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)

Ten przykład generuje następujące wyniki:

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

Uwagi

Ta metoda używa semantyki migawek — czyli kopiuje atrybuty w kolekcji źródłowej do List<T> elementu przed odłączeniem ich od elementów nadrzędnych. Jest to wymagane, aby uniknąć problemów z mieszanym kodem imperatywnym/deklaratywnym. Aby uzyskać więcej informacji, zobacz Mieszany kod deklaratywny/Usterki kodu imperatywnego (LINQ to XML).

Zobacz też

Dotyczy