Extensions.Remove Metodo

Definizione

Overload

Remove(IEnumerable<XAttribute>)

Rimuove ciascun attributo nella raccolta di origine dall'elemento padre.

Remove<T>(IEnumerable<T>)

Rimuove ciascun nodo nella raccolta di origine dal nodo padre.

Remove(IEnumerable<XAttribute>)

Origine:
Extensions.cs
Origine:
Extensions.cs
Origine:
Extensions.cs

Rimuove ciascun attributo nella raccolta di origine dall'elemento padre.

C#
public static void Remove(this System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> source);
C#
public static void Remove(this System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute?> source);

Parametri

source
IEnumerable<XAttribute>

IEnumerable<T> di XAttribute che contiene la raccolta di origine.

Esempio

Nell'esempio seguente viene recuperata una raccolta di attributi e viene quindi chiamato questo metodo per rimuoverli dagli elementi padre.

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

Nell'esempio viene prodotto l'output seguente:

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

Commenti

Questo metodo usa la semantica snapshot, ovvero copia gli attributi nella raccolta di origine in un System.Collections.Generic.List<T> oggetto prima di disconnetterli dai relativi elementi padre. Questa operazione è necessaria per evitare problemi con codice imperativo/dichiarativo misto. Per altre informazioni, vedere Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Vedi anche

Si applica a

.NET 10 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Remove<T>(IEnumerable<T>)

Origine:
Extensions.cs
Origine:
Extensions.cs
Origine:
Extensions.cs

Rimuove ciascun nodo nella raccolta di origine dal nodo padre.

C#
public static void Remove<T>(this System.Collections.Generic.IEnumerable<T> source) where T : System.Xml.Linq.XNode;
C#
public static void Remove<T>(this System.Collections.Generic.IEnumerable<T?> source) where T : System.Xml.Linq.XNode;

Parametri di tipo

T

Tipo di oggetti in source vincolati a XNode.

Parametri

source
IEnumerable<T>

IEnumerable<T> di XNode che contiene la raccolta di origine.

Esempio

Nell'esempio seguente viene recuperata una raccolta di elementi. Chiama quindi questo metodo per rimuovere gli elementi dall'elemento padre.

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

Nell'esempio viene prodotto l'output seguente:

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

Commenti

Questo metodo usa la semantica snapshot, ovvero copia gli attributi nella raccolta di origine in un List<T> oggetto prima di disconnetterli dai relativi elementi padre. Questa operazione è necessaria per evitare problemi con codice imperativo/dichiarativo misto. Per altre informazioni, vedere Mixed Declarative Code/Imperative Code Bugs (LINQ to XML).

Vedi anche

Si applica a

.NET 10 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0