//I have a List called listList sublist =list.GetRange(5,5);//(gets elements 5,6,7,8,9)List anotherSublist =list.GetRange(0,4);//gets elements 0,1,2,3)
Ist, dass das, was Sie sind, nach?
Wenn Sie schauen, um zu löschen der Teilliste Elemente aus der ursprünglichen Liste können Sie dann tun:
//list is our original list//sublist is our (newly created) sublist built from GetRange()foreach(Type t in sublist){list.Remove(t);}
List<object> x =newList<object>();
x.Add("A");
x.Add("B");
x.Add("C");
x.Add("D");
x.Add("B");var z = x.Where(p => p =="A");
z = x.Where(p => p =="B");
In den Aussagen über "p" das Objekt ist in der Liste. Also, wenn Sie ein Daten-Objekt, d.h.:
publicclassClient{publicstringName{ get;set;}}
dann Ihre linq würde wie folgt Aussehen:
List<Client> x =newList<Client>();
x.Add(newClient(){Name="A"});
x.Add(newClient(){Name="B"});
x.Add(newClient(){Name="C"});
x.Add(newClient(){Name="D"});
x.Add(newClient(){Name="B"});var z = x.Where(p => p.Name=="A");
z = x.Where(p => p.Name=="B");
Ihrer Sammlung Klasse könnte eine Methode gibt eine Sammlung (eine Teilliste), basierend auf Kriterien bestanden in den filter definieren. Erstellen Sie eine neue Sammlung mit der foreach-Schleife und geben es aus.
Oder, die Methode und Schleife ändern Sie die bestehende Sammlung durch eine "gefilterte" oder "active" - flag (der Eigenschaft). Dies könnte man arbeiten, sondern könnte auch dazu führen, poblems in Multithread-code. Wenn andere Objekte deped auf den Inhalt der Sammlung ist das entweder gut oder schlecht, je nachdem, wie Sie die Daten verwenden.
int[] l ={0,1,2,3,4,5,6};var res =newList<int>();
res.AddRange(l.Where((n, i)=> i <2));
res.AddRange(l.Where((n, i)=> i >=2&& i <=4).Reverse());
res.AddRange(l.Where((n, i)=> i >4));
Du willst, Liste::GetRange(firstIndex, count). Sehen http://msdn.microsoft.com/en-us/library/21k0e39c.aspx
Ist, dass das, was Sie sind, nach?
Wenn Sie schauen, um zu löschen der Teilliste Elemente aus der ursprünglichen Liste können Sie dann tun:
InformationsquelleAutor der Antwort Josh
Wäre es so einfach wie das ausführen einer LINQ-Abfrage auf Ihrer Liste?
InformationsquelleAutor der Antwort p.campbell
Verwenden Sie die Where-Klausel von LINQ:
In den Aussagen über "p" das Objekt ist in der Liste. Also, wenn Sie ein Daten-Objekt, d.h.:
dann Ihre linq würde wie folgt Aussehen:
InformationsquelleAutor der Antwort slugster
Ihrer Sammlung Klasse könnte eine Methode gibt eine Sammlung (eine Teilliste), basierend auf Kriterien bestanden in den filter definieren. Erstellen Sie eine neue Sammlung mit der foreach-Schleife und geben es aus.
Oder, die Methode und Schleife ändern Sie die bestehende Sammlung durch eine "gefilterte" oder "active" - flag (der Eigenschaft). Dies könnte man arbeiten, sondern könnte auch dazu führen, poblems in Multithread-code. Wenn andere Objekte deped auf den Inhalt der Sammlung ist das entweder gut oder schlecht, je nachdem, wie Sie die Daten verwenden.
InformationsquelleAutor der Antwort Doug L.
Rückseite der Elemente in einer sub-Liste
Gibt 0,1,4,3,2,5,6
InformationsquelleAutor der Antwort Phillip Ngan