Ver por etiquetas
Todas las etiquetas »
C# (
RSS)
¡Buenas! Empezamos con una pregunta: ¿Cual es el resultado de este programa? class Program { static void Main ( string [] args ) { var data = Foos ; foreach ( var foo in data ) { ChangeFooValue ( foo ); } ...
Aaahhh… los punteros son una de las bestias negras del desarrollo. Desterrados de los dominios de los lenguajes orientados a objetos “modernos” como Java por ser demasiado “próclives a errores” los punteros se han convertido en una especie de ser mitológico, temido por muchos desarrolladores que tiemblan cuando ven un asterisco dando vueltas por ahí… Incluso C# los tiene medio apartados por ahí, rodeados de unsafes por todas partes. ¿Qué es un puntero? Un puntero no es nada más que una variable normal...
Muy buenas! Con este post inicio una serie de posts (como siempre, ni idea de cuantos van a ser) dedicado especialmente a desarrolladores de C# que quieran empezar con Objective-C . No soy un experto en Objective-C ni esta serie pretende que te conviertas en un experto en este lenguaje. Tampoco es un tutorial de Objective-C. Es simplemente una ayuda para todos aquellos desarrolladores con un background de C# y .NET que tengan curiosidad por ver como es el lenguaje de la manzana . A lo largo de esta...
¡Hey! Dos entradas de la serie C# Básico en menos de un mes… ¿Señal de algo? Quien sabe… :P Antes que nada el aviso típico de esta serie: En esos posts exploramos elementos, digamos, básicos del lenguaje. No es un tutorial ni un libro ni nada. Cada post es independiente del resto y pueden ser leídos en el orden en que prefiráis… Dicho esto, al tajo. Bueno, en este post veremos como funcionan los métodos con parámetros variables en C#. Cuando digo parámetros variables me refiero a que el número de...
¡Buenas! Este es un nuevo post de la serie C# Básico , que como su propio nombre indica trata sobre aspectos digamos elementales del lenguaje. Cada post es independiente y el orden de publicación no tiene porque ser el de lectura. Los temas los voy sacando de los foros o consultas que se me realizan :) Hoy vamos a tratar un tema que veo que causa mucha confusión: el paso de parámetros por referencia. Como en todos los posts de esta serie lo haremos de forma didáctica y paso a paso. 1. Paso por valor...
Buenas :) Al estilo de muchos blogs que visito habitualmente y que proponen pequeños acertijos en base a un código que tiene un error (muchas veces no aparente, otras más evidente), os propongo hoy uno, que me he encontrado revisando código. Así que, amigos ¿qué hay de malo en este código? if (! File .Exists(fname)) { File .Create(fname); } // Hacemos lo que sea... Sencillo, ¿no? Si el fichero no existe lo creamos y luego hacemos lo que se supone que tengamos que hacer. Parece...
Bueno… empieza el 2012: el último año de nuestra existencia si los maias no andaban errados (unos tíos que hacían pirámides hace miles de años no pueden equivocarse demasiado). Pero bueno… hasta que no llegue el apocalípsis, ahí estaremos! ¡Al pie del cañón! De todos modos, para empezar nada más que un post ligerito, sobre C# Básico , ya sabéis esta serie de posts donde vamos explorando cosillas, sin ningún orden en particular, básicas del lenguaje. Sí, ya sé que el ritmo de posts de la serie es...
Muy buenas! Para ser sinceros esta es una pregunta que me he hecho siempre y, creo yo, que se han hecho muchas personas que vienen de C++. ¿Debería tener C# referencias const? El hecho es que hasta ayer no había encontrado una explicación razonada y de alguien de peso (quien mejor que Eric Lippert , cuyo blog es lectura obligada) del porque C# no las incluye. Al final del post hay el enlace al post de stackoverflow en el que Eric explica sus razones por las que C# no tiene referencias const. En este...
En el post anterior vimos como gracias a C# 5 y las nuevas palabras clave async y await el uso de métodos asíncronos era tan sencillo como ir al bar y tomarnos una cerveza. Como resumen del post vimos que async nos permitía indicar que un método quería realizar llamadas asíncronas y await nos permitía esperarnos al retorno de una llamada asíncrona. Si no has leído el post, antes de leer este échale un vistazo. En el post de ayer hice una simplificación, porque no quería liar las cosas más de la cuenta...
Muy buenas! Como dije en el post anterior estoy trasteando un poco con la Developers Preview de Windows 8 y la nueva API WinRT para crear aplicaciones Metro. El tema está en que esta nueva API está diseñada de forma muy asíncrona. Por suerte en C# 5 el uso de métodos asíncronos se ha simplificado mucho gracias a dos nuevas palabras clave: async y await. Y dado que, creedme, vais a tener que usarlas en cuanto os pongáis con WinRT me he decidido escribir este post para comentarlas un poco :) async...
La verdad es que ahora hacía bastantes meses que no publicaba nada de la serie “C# básico”. En esta serie pongo posts sobre temas básicos del lenguaje. No es un libro por fascículos, ni un tutorial al uso puesto que los posts no tienen orden en concreto y nacen a partir de inquietudes que observo (mayoritariamente en los foros, pero también por correos que recibo). Todos los posts de esta serie los podéis ver aquí . En el post de hoy quiero hablar de la diferencia entre objetos y referencias ya que...
Hola a todos! Desde hace algunos días estoy usando Resharper . La verdad no era, como decirlo, muy proclive para instalármelo, ya que había tenido no muy buenas experiencas con CodeRush . Seguramente no eran culpa de CodeRush sinó mías, pero bueno… Al final me lo instalé y debo decir que estoy gratamente sorprendido: Es una auténtica maravilla. Una cosa interesante de Resharper es que te hace sugerencias (que puedes desactivar si quieres, por...
Muy buenas! Hacía tiempo que no escribía nada de la serie C# Básico . En esta serie voy tratando temas (sin ningún orden en particular) que considero que son fundamentos más o menos elementales del lenguaje. No es un tutorial al uso, cada post es independiente del resto y como digo no están ordenados por nada en particular. El post de hoy nace a raíz de una pregunta que vi en los foros de msdn ( http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread...
Ayer Lluis escribía este gran post: How to: Obtener controles de un formulario con generics . Como bien dice es una pregunta… recurrente en todos los sitios :) Lo bueno de eso del desarrollo es que para todo hay varias soluciones, así que aquí os propongo otra, pero usando Linq. Personalmente me encanta Linq, supongo que es porqué siempre me han fascinado los lenguajes funcionales… Antes que nada tenemos que solucionar un temilla: Linq funciona sobre IEnumerable<T> pero la propiedad Controls...
Hola a todos! Este es el tercer post de esa “serie” de C# Básico. En el primero vimos las interfaces y en segundo intenté responder a la pregunta de que es la herencia . Hoy quiero hablaros de un tema sobre el que bastante gente tiene dificultades y sobre el que hay bastante confusión, pero que en el fondo es mucho más simple de lo que parece! Sí, me estoy refiriendo a los delegates (o delegados). 1. La necesidad de los delegates Cuando queremos enviar...
Hola a todos! Despues de la buena acogida que tuvo la primera entrega de C# Básico (dedicada a las interfaces) , me gustaría abordar hoy una de las cuestiones que se pusieron en los comentarios: ¿Qué es la herencia? De nuevo os recuerdo que esta serie es vuestra : no tengáis reparos en pedir posts de algún tema en concreto o aclaraciones e intentaré contestaros dentro de mis conocimientos :) En la wikipedia se define herencia como: En orientación a objetos la herencia es el mecanismo fundamental...
Hola a todos! El otro día recibí un correo que decía lo siguiente: ¿Podrías escribir algo sobre el uso de Interfaces? Yo por ahi he leido que es algo recomendado crear interfaces que es como un patrón.. Yo la verdad no las uso en mis proyectos pero me gustaría saber para qué sirven y porque se deberían usar y en qué casos. Reconozco que es un correo para reflexionar: muchas veces tendemos a escribir sobre lo más : lo más avanzado, lo más novedoso, lo más cool … y quizá nos olvidamos de que hay gente...
El otro día, Oren Eini (aka Ayende ) escribió en su blog un post, en respuesta a otro post escrito por Phil Haack (aka Haacked ). En su post Phil mostraba un método extensor para comprobar si un IEnumerable<T> era null o estaba vacío (y sí, Phil usa Any() en lugar de Count() para comprobar si la enumeración está vacía ): public static bool IsNullOrEmpty<T>( this IEnumerable<T> items) { return items == null || !items.Any(); } Aquí tenéis el post de Phil: Checking For Empty Enumerations...
Leyendo este post de Gisela sobre la serialización XML me he decidido escribir este… es lo que tiene la realimentación en los blogs :) El uso de atributos que menciona Gis en su post es realmente genial. A mi me encanta: me permite definir mis clases en un momento y es muy útil cuando leemos datos xml de una fuente externa. Pero hay un detalle que puede ser un problema: El esquema XML está totalmente acoplado de la clase que tiene los datos. Si estamos leyendo de dos fuentes externas que tienen esquemas...
Hola a todos! Un post para comentar paranoias varias sobre algo que parece tan simple como redefinir GetHashCode()… Primero las dos normas básicas que supongo que la mayoría ya conoceréis: Si se redefine el método Equals() de una clase debería redefinirse también el método GetHashCode(), para que pueda cumplirse la segunda norma que es… Si la llamada a Equals para dos objetos devuelve true , entonces GetHashCode() debe devolver el mismo valor para ambos objetos. Una forma fácil y rápida de implementar...
Más artículos
Página siguiente >