Tengo una aplicación asp.net, y ahora estoy usando conjuntos de datos para la manipulación de datos. Recientemente comencé a convertir este conjunto de datos a una colección de Lista. Pero, en algunos lugares, no funciona. Una es que en mi versión anterior estoy usando datarow[] drow = dataset.datatable.select(searchcriteria)
. Pero en la colección Lista no hay un método disponible para encontrar valores particulares. ¿Hay alguna manera de seleccionar algunos valores de acuerdo con mis criterios de búsqueda? Quiero saber si esto es posible. Por favor, ayúdame.Seleccione el método en la lista <t> Colección
Respuesta
Bueno, para empezar List<T>
qué tienen los FindAll
y métodos ConvertAll
-, pero el enfoque más idiomática, moderno es el uso de LINQ:
// Find all the people older than 30
var query1 = list.Where(person => person.Age > 30);
// Find each person's name
var query2 = list.Select(person => person.Name);
que necesitará una directiva using en su archivo de hacer este trabajo:
using System.Linq;
en cuenta que estos no utilizan cuerdas para expresar predicados y proyectos - que utilizan delegados, por lo general creado a partir de las expresiones lambda que el anterior .
Si las expresiones lambda y LINQ son nuevos para usted, sugeriría usted consigue un libro que cubre LINQ primera, como LINQ in Action, Pro LINQ, C# 4 in a Nutshell o mi propia C# in Depth. Ciertamente, puede aprender LINQ solo de tutoriales web, pero creo que es una tecnología tan importante, vale la pena tomarse el tiempo para aprenderlo a fondo.
genérico List<T>
tiene el método de extensión Where<T>(Func<T, Boolean>)
que se puede utilizar para filtrar los datos.
En su caso con una matriz fila:
var rows = rowsArray.Where(row => row["LastName"].ToString().StartsWith("a"));
Si está utilizando DataRowCollection
, necesita para su emisión en primer lugar.
var rows = dataTableRows.Cast<DataRow>().Where(row => row["LastName"].ToString().StartsWith("a"));
puede también tratar
var query = from p in list
where p.Age > 18
select p;
Prueba esto:
using System.Data.Linq;
var result = from i in list
where i.age > 45
select i;
El uso de la expresión lambda por favor utilice esta declaración:
var result = list.where(i => i.age > 45);
- 1. Obtener sub colección en la lista <class> formulario
- 2. System.LINQ.Dynamic: Seleccione ("nuevo (...)") en una lista <T> (o cualquier otra colección enumerable de <T>)
- 3. ¿La lista <T> .Last() enumera la colección?
- 4. Java Colección <Object> o Colección <?>
- 5. Colección/matriz contiene el método
- 6. lista genérica <T> como parámetro en el método
- 7. ¿Puedo utilizar una lista <T> como una colección de punteros de método? (C#)
- 8. DataTemplate.DataType = Colección <Entity>?
- 9. Cómo convertir la lista <string> en la lista <int>?
- 10. Lista <object> En la lista <T> usando la reflexión
- 11. ¿Cómo convertir una colección a la lista?
- 12. Observable Colección propiedad modificada en el elemento en la colección
- 13. Cómo crear un método de extensión en la colección genérica
- 14. C# - Lista <T> .Remove() siempre elimina el primer objeto en la lista
- 15. Convertir la colección a la lista
- 16. La mejor manera de usar la Lista <T> y exponer la Colección <T>
- 17. Mejor contenedor de cadena: StringCollection, Colección <string>, Lista <string>, ArrayList, ...?
- 18. Seleccione Filas de un DataSet utilizando LINQ, donde la lista de RowsID está en una lista <T>
- 19. En la lista <T>. El método .Sort(), ¿es un elemento comparado con él?
- 20. cuándo utilizar Colección <T> vs Lista <T>
- 21. serializar una lista <> exportada como una colección <> a XML
- 22. Seleccione una sección del medio de una lista en C#
- 23. más rápido Convertir de la colección a la lista <T>
- 24. Lista <?> o Lista <Object>
- 25. Seleccione qué método "Paso a Paso" en el depurador
- 26. Fusionando dos Colección <T>
- 27. C# Lista de fundición <ushort> a la lista <short>
- 28. colección de fundición <SomeClass> para Colección <SomeSuperClass>
- 29. ¿cuál es la diferencia entre la lista <> y el diccionario <> en C#
- 30. ¿Cuál es el uso de <T> en <T> T addAndReturn pública estática (elemento T, colección Colección <T>) {