Ver por etiquetas

Todas las etiquetas » C# y LINQ (RSS)

Applying LINQ to new data types

[This article was originally published in MSDN C# Developer Center , February 2008] Given the enormous expressive power that LINQ (Language Integrated Query) puts in the hands of developers, it is not surprising that we have started to search for ways to “LINQ-enable” more and more data types and technologies. As Dinesh Kulkarni humorously put it in this post , soon we will have even “LINQ to Coffee Machine” :-). .NET Framework 3.5 and C# 3.0 offer us several ways to achieve...
Posted por Octavio Hernández | con no comments
Archivado en: ,

Generalización del cálculo de productos cartesianos con LINQ

En un interesante post (como siempre), el genial Eric Lippert muestra cómo generalizar el cálculo de n productos cartesianos utilizando LINQ. Creo haber estado entre los primeros que identificó el operador SelectMany de LINQ con el cálculo de un producto cartesiano, por allá por 2007 (parece que haya pasado una eternidad :-).
Posted por Octavio Hernández | con no comments
Archivado en: ,

Movin' out

"We gotta move out 'Cause the city's movin' in..." ("Movin' out", Aerosmith , 1973) Después de unos días en primera plana del C# Developer Center de MSDN, mi artículo corto " Solving Combinatory Problems with LINQ " sale de la lista de novedades, desplazado con toda justicia por ese suceso histórico que es la aparición de .NET Framework 4 y Visual Studio 2010: Pop/Rock tip : Otro de los monstruos del rock que ha sobrevivido...
Posted por Octavio Hernández | con no comments
Archivado en: ,,

Resolviendo con las tuplas las carencias de los tipos anónimos

Unos días después de ver la luz el artículo " Tuplas en .NET Framework 4 ", que co-escribí para dotNetManía con mi maestro y amigo Miguel Katrib en el marco del ejemplar especial dedicado a la salida de .NET Framework 4 y Visual Studio 2010, me encuentro con este post de Jared Parsons , miembro del Languages Team de Microsoft, en el que se describe un posible escenario de utilización de las tuplas para suplir las carencias actuales de los tipos...
Posted por Octavio Hernández | 2 comment(s)
Archivado en: ,,

More fun with LINQ

"Standing on a bridge, watch the water passing under me It must’ve been much harder when there was no bridge just water..." ("Funny the Way it is", Dave Matthews Band , 2009) Ayer se publicó en el área de Community Content de MSDN mi artículo corto " Solving Combinatory Problems with LINQ ", un divertimento basado en LINQ al estilo de otros que ya he publicado tanto en " C# 3.0 y LINQ " como aquí. Estos puzzles siempre me traen...
Posted por Octavio Hernández | 3 comment(s)
Archivado en: ,,

Buscando "El símbolo perdido" con LINQ (II)

"Now I know you're all king horse Between tenderness and brute force..." ("King Horse", Elvis Costello , 2007) Continuando con el problema propuesto en el post anterior (basado en " El símbolo perdido ", la última obra de Dan Brown ), aquí presento el código final utilizado para resolver el problema, así como un análisis somero de los resultados obtenidos. La adición de las condiciones que faltan al programa del post...
Posted por Octavio Hernández | 2 comment(s)
Archivado en: ,,

Buscando "El símbolo perdido" con LINQ

Últimamente he estado leyendo en los ratos libres " El símbolo perdido ", la última obra de Dan Brown , el autor de "El código Da Vinci" y otros best sellers . Como parte de los hechos a los que se enfrenta el protagonista durante sus peripecias para descifrar un oculto misterio, el autor nos presenta un cuadrado ultra-mágico que aparece en el cuadro " Melencolia I " (1514), del pintor alemán Alberto Durero : 16 3 2 13 5 10 11...
Posted por Octavio Hernández | 5 comment(s)
Archivado en: ,,

Más con respecto a un método extensor ForEach<T>

Algún tiempo después de que diera mi opinión sobre un potencial método extensor ForEach<T> en este post , tengo el gusto de recomendar a los lectores lo que ha escrito recientemente sobre el tema en su blog Eric Lippert , miembro del equipo de diseño de C# y sin duda alguna una de las mentes más sagaces de todo el equipo de lenguajes de Microsoft. Según todo parece indicar, no veremos un método como ése en la BCL en un futuro cercano...
Posted por Octavio Hernández | con no comments
Archivado en:

Confesiones de un autor con prisas

"My mama said you can't hurry love No, you'll just have to wait She said love don't come easy But it's a game of give and take" ("Can't hurry love", Phil Collins , 1982) Las prisas por salir al mercado tienen, sin lugar a dudas, algunos riesgos asociados. Esos riesgos los sufrí en carne propia al publicar " C# 3.0 y LINQ ", que ya estaba en la calle incluso antes de la salida definitiva de Visual Studio 2008. Para lograr eso, por supuesto,...
Posted por Octavio Hernández | 8 comment(s)
Archivado en: ,

Más sobre mensajes navideños en hexadecimal

Respondiendo a la invitación de mi buen amigo Rodrigo , posteo aquí (perdón por el Spanglish , que a veces me sabe a gloria) mi solución al descifrado del mensaje navideño hexadecimal enviado por Pablito . El hecho de que lo primero que me vino a mí a la mente fue un método extensor a-la-LINQ , mientras que a Rodrigo un algoritmo concurrente, me ha traído a la mente una frase que usaba a menudo mi abuela, "cada loco con su tema" (más sobre eso al final). Aunque obvia decir que lo de "loco"...
Posted por Octavio Hernández | 6 comment(s)
Archivado en: ,,

Please welcome a new LINQ Standard Query Operator

Entre las "pequeñas cosas" que quedan ocultas en la CTP de Visual Studio 2010, eclipsadas por otras más novedosas, cabe destacar la presencia de un nuevo operador de consulta estándar de LINQ llamado Zip , que he encontrado, claro está, "buceando" con el Explorador de objetos. El operador Zip nos permitirá ir recorriendo simultáneamente la secuencia de entrada y una segunda secuencia, mientras ambas tengan elementos, produciendo una secuencia de salida con los elementos obtenidos...
Posted por Octavio Hernández | 5 comment(s)
Archivado en: ,,

Observaciones con respecto a un método extensor ForEach<T>

Recientemente, Valeriano Tórtola publicó un excelente post en el que mostraba la utilización de un método extensor para IEnumerable<T> llamado ForEach<T> para aplicar una misma modificación a todos los elementos de una secuencia obtenida como resultado de una consulta de LINQ to DataSets. El método extensor en cuestión proviene del blog de Glenn Brock , Program Manager en Microsoft, y su código fuente es el siguiente: public static class IEnumerableUtils { public static void ExtForEach<T>...
Posted por Octavio Hernández | 3 comment(s)
Archivado en: ,

Los problemas de Euler y LINQ

Revisando nuevos enlaces aparecidos durante agosto en la página de C# de MSDN, he dado con el blog de Bill Wagner , autor de los libros " Effective C# " y " More effective C# ". En sus posts más recientes, como éste o éste otro , Bill muestra la aplicación de LINQ a la solución de algunos problemas de naturaleza combinatoria que forman parte de la excelente colección de problemas de programación recopilados en el sitio web " Project Euler ". La naturaleza de las soluciones...
Posted por Octavio Hernández | 4 comment(s)
Archivado en: ,

Si estás usando un bucle, lo estás haciendo mal...

Charles (Chuck) Jazdzewski fue, durante la década de los '80 y '90, uno de los ingenieros más brillantes del fenomenal equipo que, encabezado por Anders Hejlsberg , desarrolló herramientas tan adelantadas a su tiempo como Turbo Pascal , Turbo C++ , Turbo Prolog , Delphi , C++ Builder o JBuilder . Como muchos de sus antiguos compañeros, recaló en Microsoft desde hace unos años. Y mantiene un blog muy interesante, centrado principalmente en estructuras de datos y algoritmos. Pero recientemente...
Posted por Octavio Hernández | 3 comment(s)
Archivado en:

Presentación (.PPTX) en Tech Days 2008

Varias personas me han indicado que la presentación de mi charla "LINQ a fondo" en TechDays 2008 no estaba aún disponible en ningún sitio (yo no la incluí en la descarga original). Así que, con algo de retraso, la he colgado aquí (en formato PowerPoint 2007): http://geeks.ms/files/folders/ohernandez/entry81373.aspx
Posted por Octavio Hernández | 1 comment(s)
Archivado en:

Utilizando características de C# 3.0 en proyectos para .NET 2.0 ó 3.0

Una de las características más útiles que ofrece Visual Studio 2008, conocida en inglés como multi-targeting , es la posibilidad de desarrollar aplicaciones que luego puedan ser desplegadas sobre .NET Framework 2.0, .NET Framework 3.0 ó .NET Framework 3.5. En relación con esto, surge una pregunta interesante: ¿puedo utilizar las nuevas características del lenguaje C# 3.0 en proyectos que vayan a ser desplegados sobre .NET 2.0 o .NET 3.0? La respuesta es *SI*, en el caso de las características del...
Posted por Octavio Hernández | 4 comment(s)
Archivado en:

Demos de la presentación en TechDays

Aún frescas en nuestras memorias las imágenes de TechDays 2008, aprovecho para colgar las demos de mi presentación, y de paso para dar las gracias a todos los que asistieron a ella. La URL para la descarga es: http://geeks.ms/files/folders/ohernandez/entry75286.aspx Señalamientos: En la DEMO0, seguramente tendrá que cambiar la cadena de conexión a la base de datos (que sí se incluye en la descarga) para ejecutar el ejemplo de LINQ to SQL y LINQ to Entities. Para visualizar el modelo de ADO.NET Entity...
Posted por Octavio Hernández | 10 comment(s)
Archivado en:

Sesión "LINQ en profundidad” en TechDays 2008

Un año más, Microsoft España ha tenido a bien confiarme la presentación sobre LINQ en su evento más importante del año, en este caso TechDays 2008 . Aprovecho para manifestar desde aquí mi gratitud por la confianza depositada en mi persona, y decir lo que puede sonar a tópico, que intentaré hacerlo lo mejor posible. Será el día 26 en la sala París del Palacio Municipal de Congresos, a las 14:00 horas. El objetivo de este post es delinear las líneas generales de la presentación e indicar de qué se...
Posted por Octavio Hernández | 21 comment(s)
Archivado en: ,

Más allá de C# 3.0

Una vez salidos al mercado .NET 3.5 y C# 3.0, el equipo de desarrollo ya ha comenzado a pensar en las nuevas características a incorporar al lenguaje en la próxima "ola". Para mantener al tanto a la comunidad, Charlie Calvert, Community PM de C#, ha dado inicio a una serie de posts que bajo el título " Future focus " comenzará a presentar ideas a ese respecto... La primera propuesta, que ha causado bastante revuelo (según puede verse en la página antes mencionada), está relacionada...
Posted por Octavio Hernández | 11 comment(s)
Archivado en:

Ejecutando consultas arbitrarias en LINQ to SQL

(An English version of this post is available here ) Una restricción relativamente incómoda cuando se está trabajando con LINQ to SQL es la necesidad de definir a priori un tipo de datos para representar los resultados cuando se desea ejecutar una consulta SQL arbitraria a través del contexto de datos. No veo que definir un tipo sea algo especialmente costoso, y además podría ayudar a la legibilidad del código, pero es cierto que podría evitarse… Por ejemplo (utilizando un ejemplo de mi libro “C#...
Posted por Octavio Hernández | 4 comment(s)
Archivado en:
Más artículos Página siguiente >