LINQ Cheat Sheet

October 21

Language Integrated Query (LINQ) utiliza una increíble variedad de operadores. Un operador es una palabra especial que le dice LINQ qué tipo de consulta a realizar, como comprobar si dos valores son iguales. Los operadores pueden llegar a cientos, pero en la mayoría de los casos usted va a realizar la mayoría de tareas utilizando sólo unos pocos operadores estándar. A continuación se muestra una lista de operadores esenciales LINQ.

Operador Descripción
desde Define el objeto temporal que se utiliza para realizar una consulta. Piense en esto como operador de la definición del objeto elemento individual de la que tenéis por todos los demás datos de la consulta. Por ejemplo, usted elige lo que van a aparecer los datos en la salida y la manera que los datos se ordena en base a la variable temporal. El de operador es el único que debe aparecer en cada consulta que cree.
en Define la fuente de datos utilizada para obtener los datos. Una fuente de datos puede ser cualquier objeto apoyado por un proveedor de datos. El proveedor crea una conexión entre la fuente de datos y la consulta LINQ. Por ejemplo, una fuente de datos puede incluir un objeto, como un cuadro de lista, un archivo XML, una tabla de SQL Server, Active Directory, un servicio web o cualquier otra cosa que desee utilizar para recopilar información. Es incluso posible trabajar directamente con los archivos en el disco duro mediante una consulta LINQ. Una consulta puede contener tantos pares coincidentes de partir y en operadores como sea necesario para describir completamente las fuentes de datos utilizadas en la consulta.
seleccionar Escoge la información de salida de la consulta. La salida más simple es el mismo objeto se define mediante el de operador. Sin embargo, un operador de selección puede incluir valores calculados, conjuntos de datos, o propiedades de los objetos individuales. El factor limitante en la mayoría de los casos es la funcionalidad ofrecida por el proveedor de LINQ. Los cuatro de los proveedores predeterminados incluyen toda la gama de selectos comportamientos del operador. Una consulta contiene sólo un operador seleccione y este operador debe aparecer como el último operador en la consulta.
donde Describe las condiciones en las que un elemento aparece como parte de la salida. El operador donde siempre requiere de un argumento booleano para definir las condiciones de salida. Puedes incluir hasta donde los operadores como sea necesario para describir completamente los criterios de salida. LINQ interpreta los operadores donde en el orden en el que aparecen en la consulta, por lo que el orden es importante. Cuando una consulta no funciona como se esperaba, pruebe a cambiar el orden de los operadores cuando para describir mejor los requisitos de la salida. Utilice el depurador para ayudar a localizar errores en el flujo lógico de donde los operadores.
orderby Define el orden en que aparecen los elementos de salida. El operador orderby más simple se basa en el objeto que definas usando la del operador. Sin embargo, un operador orderby puede aceptar ninguna declaración que define un argumento del ordenamiento lógico como entrada - normalmente numérica, alfabética, símbolo o binario. Puede utilizar tantos operadores OrdenarPor como sea necesario para describir completamente el orden de salida de los datos. Al igual que con el operador en el que, LINQ interpreta el operador orderby en el orden en que aparece en la consulta. En consecuencia, el orden de los operadores OrdenarPor es importante.
unirse y en Combina dos o más fuentes de datos para crear una vista compuesta de los datos. Las fuentes de datos no necesitan depender de los mismos proveedores. Usted puede utilizar como muchos se unen a los operadores como sea necesario para describir completamente todas las fuentes de datos utilizados para una consulta. El operador define en el criterio utilizado para combinar dos fuentes de datos. Par el unirse y sobre los operadores para crear una fuente de datos completa.
dejar Crea un valor calculado para su uso dentro de la consulta. Los valores calculados hacen consultas complejas más fáciles de formular. Además, se puede pasar un valor calculado sobre la persona que llama para proporcionar información adicional de salida. En muchos casos, el operador let proporciona los medios para hacer pasar datos que LINQ no pasará normalmente debido a un conflicto de nombres. Puede usar tantos vamos operadores como sea necesario para proporcionar la funcionalidad completa de consulta, pero se debe limitar el uso de let a situaciones en que un valor calculado mejora la velocidad de consulta.

Explorando LINQ Standard Query grupos de operadores

Utilización de operadores de consulta estándar hace que trabajar con Language Integrated Query (LINQ) considerablemente más fácil. En muchos sentidos, probablemente ya has trabajado con operadores de consulta simples. Por ejemplo, cuando se utiliza la palabra clave orderby, está utilizando un operador de consulta en el grupo de clasificación de operadores de consulta estándar. Cuando se utiliza la palabra clave en el que, se está utilizando otro operador de consulta, pero esta vez es en el grupo de filtrado.

He aquí una lista de los grupos de operadores de consulta estándar y donde se puede encontrar información adicional.

Grupo Descripción del Grupo Operadores Incluido Información Adicional
Operaciones de agregación Los operadores de agregación todos le ayudan a realizar tareas matemáticas con una fuente de datos. Aggregate, Normal, el conde, LongCount, Max, Min, y Sum Microsoft Developer Network: Las operaciones de agregación
Operaciones de concatenación El único operador de concatenación le permite combinar dos secuencias. Concat Microsoft Developer Network: Operaciones de concatenación
Convertir tipos de datos Conversión de tipos de datos se presentan en dos formas: diferida y sin diferir. Los operadores de conversión diferidos convertir los resultados de una consulta a un tipo particular como el código interpreta el conjunto de resultados. Los operadores de conversión sin diferir cambiar la salida de una consulta a un tipo particular. AsEnumerable, AsQueryable, Cast, OfType, ToArray, ToDictionary, ToList y ToLookup Microsoft Developer Network: Conversión de tipos de datos
Operaciones con los elementos Los operadores de elementos ayudan a seleccionar un elemento particular en una secuencia, incluso cuando usted no sabe cualquier información que identifique a ese elemento, tal como su nombre. ElementAt, ElementAtOrDefault, En primer lugar, FirstOrDefault, pasado, LastOrDefault, individual, y SingleOrDefault Microsoft Developer Network: Operaciones Element
Operaciones de Igualdad El único operador de igualdad ayuda a determinar si dos secuencias son iguales (el número de elementos y el contenido de cada elemento son iguales). SequenceEqual Microsoft Developer Network: Operaciones de Igualdad
Filtrado de datos Los operadores de filtrado le ayudan a excluir o incluir elementos en una secuencia basada en criterios específicos. OfType y Dónde Microsoft Developer Network y filtro de datos
Operaciones de generación Los operadores de generación de crear una nueva secuencia en base a los criterios especificados. DefaultIfEmpty, Vacío, Range, y Repetir Microsoft Developer Network: Operaciones Generación
Agrupar datos Los operadores de agrupación ayudan a ordenar los datos por una característica particular, como la primera letra de un grupo de cuerdas. GroupBy y ToLookup Microsoft Developer Network: Agrupar datos
Únete a operaciones Los operadores se unen aceptan dos o más secuencias como entrada y crear una secuencia de salida único basado en un determinado tipo de combinación y el criterio se unen. Únete y GroupJoin Microsoft Developer Network: Únete Operaciones
Datos Particiones Los operadores de particionamiento le ayudan a sección una secuencia para localizar información específica. Saltar, SkipWhile: Tomad, y TakeWhile Microsoft Developer Network: La partición de datos
Operaciones de proyección Los operadores de proyección crean un nuevo tipo basado en la consulta que cree. Seleccione y SelectMany Microsoft Developer Network: Operaciones de proyección
Operaciones cuantificador Los operadores cuantificador ayudarle a seleccionar los elementos basados ​​en criterios específicos. Utiliza estos operadores para determinar si ninguno, uno o más de uno los elementos cumplen con los criterios seleccionados. Todo, cualquier, y contiene Microsoft Developer Network: Operaciones cuantificador
Operaciones Set Los operadores de conjunto crean conjuntos. Piense en la aritmética conjunto que realizó en la escuela. Distinto, Salvo, Intersect, y Unión Microsoft Developer Network: Conjunto de Operaciones
Ordenación de datos Los operadores de clasificación ayudan a poner una secuencia en un orden particular. OrderBy, OrderByDescending, ThenBy, ThenByDescending y Retroceso Microsoft Developer Network: ordenar datos

Microsoft LINQ Recursos

Siempre es útil saber dónde puede ir para obtener información adicional y herramientas y mejoras al crear su Integrated Query (LINQ) aplicaciones de idioma. Aquí está una lista de recursos de Microsoft útiles para LINQ.

Microsoft Developer Network

El Microsoft Developer Network (MSDN) siempre ha proporcionado el material de referencia para todos los productos de desarrollo de Microsoft. Usted encontrará todo un almacén de información que hay - más que cualquier ser humano probablemente puede leer en la vida. En consecuencia, es necesario tamizar la información con cuidado o te convertirás rápidamente perdido en el laberinto de MSDN. El principal sitio de MSDN para trabajar con LINQ le ofrece noticias, recursos y acceso a otra información, como muestras.

Blogs de Microsoft

Microsoft quiere que usted sepa cómo trabajar con LINQ. En el pasado, que iba a encontrar gran parte de la información que necesita en MSDN. El sitio web de MSDN sigue siendo un buen lugar para ir, pero muchos desarrolladores de Microsoft se quejó de que era un poco demasiado formal (los artículos son bastante difíciles de entender en algunos casos) y no había ninguna oportunidad de interactuar con los autores. Los blogs de Microsoft ofrecen un ambiente más amigable para la obtención de información donde se puede corresponder con el autor. Aquí hay algunos blogs que usted querrá visitar al trabajar con LINQ:

  • Bet Massi: Compartiendo la bondad que es Visual Basic (VB)
  • De Charlie Calvert Comunidad Blog
  • De Wriju BLOG: .NET y Todo

La mayoría de estos blogs son genéricos - todos discuten los problemas de programación de algún tipo. En consecuencia, usted encontrará una mezcla de temas en cada blog. El autor puede discutir el sistema de archivos en un solo post y LINQ en otro. Cada uno tiene entradas LINQ-específicos que se pueden buscar utilizando las funciones de búsqueda en el blog. Aunque Charlie Calvert ha dejado Microsoft, su blog contiene una gran cantidad de información general LINQ.

Los foros de Microsoft

Si usted no cree que usted está recibiendo suficiente interacción con Microsoft a través de un blog, los empleados de Microsoft a menudo frecuentan los foros de Microsoft también. Cargar un mensaje al foro adecuado que puede neto un poco de ayuda profesional o al menos un poco de ayuda con conocimientos de otro miembro del foro. La mayoría de los desarrolladores confían en el foro de MSDN para cuestiones básicas sobre LINQ. Se puede ver un listado de foros en la Comunidad Microsoft. No te olvides de probar el foro específico de idioma para Visual Basic .NET.