Ver por etiquetas

Todas las etiquetas » C# y LINQ (RSS)

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:

Executing arbitrary queries in LINQ to SQL

A relative nuisance when working with LINQ to SQL is the need to a priori define a data type in order to represent the results of an arbitrary query executed through the data context. I don’t see defining a type as something specially complicated, and it could improve the readability of the code, but it is true that it could be avoided … For instance (using an example taken from my book “C# 3.0 and LINQ”), if we would like to know how many soccer clubs from each city do belong to the Spanish league...
Posted por Octavio Hernández | 1 comment(s)
Archivado en:

La relación entre LINQ y Don Knuth

Este post es en buena medida continuación de otro anterior , y trata sobre otra de las "pegas" habituales que me encuentro durante las charlas (formales o informales) relacionadas con LINQ. A la que voy a comentar hoy yo la llamo "el síndrome de la obsesión por el rendimiento", y se manifiesta en el hecho de mi interlocutor, desde la primera vez que oyó hablar sobre LINQ, decidió que esa tecnología a él no le vale porque "afecta el rendimiento". La mayor parte de las...
Posted por Octavio Hernández | 10 comment(s)
Archivado en:

More on LINQPad

El excelente post de Juan Carlos González Martín sobre LINQPad ha vuelto a llamar mi atención sobre esta útil herramienta, que conocí cuando aún estaba "en pañales" y a la que había perdido la pista últimamente. Y resulta que LINQPad ha ganado en funcionalidades, permitiendo no solo ejecutar consultas LINQ contra bases de datos de SQL Server (para lo que obviamente se apoya en la herramienta sqlMetal , encargada de generar las clases de entidad correspondientes), sino también de compilar...
Posted por Octavio Hernández | 2 comment(s)
Archivado en:

LINQ es mucho más que LINQ to SQL

Uno de los "mind stoppers" con los que me encuentro con más frecuencia durante las charlas sobre LINQ es la idea preconcebida de que al hablar de LINQ se está hablando única y exclusivamente de una tecnología para acceder a bases de datos relacionales "encapsulando" la generación de las sentencias SQL. Tales opiniones frecuentemente equiparan LINQ como un todo con un mapeador objeto-relacional (ORM) como nHibernate o IdeaBlade DevForce, por solo mencionar algunos de los más conocidos...
Posted por Octavio Hernández | 2 comment(s)
Archivado en:

Código de los ejemplos de "C# 3.0 y LINQ" disponible

Pues eso: ya está disponible el código de los ejemplos del libro "C# 3.0 y LINQ", actualizado para las versiones definitivas de .NET Framework 3.5 y Visual Studio 2008 . Como Microsoft también ha liberado el SDK de Visual Studio 2008, como nos informaba puntualmente Bruno , he podido actualizar también el ejemplo 11_05, "LINQ to TFS". Todo el código puede ser descargado en formato comprimido desde el sitio Web de la editorial o desde mi sitio Web "personal" .
Posted por Octavio Hernández | con no comments
Archivado en:
Más artículos Página siguiente >