Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
highlevel:csharp:xtra2 [2010/04/28 08:30] alfred |
highlevel:csharp:xtra2 [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 190: | Línea 190: | ||
| string dataSource = (string)confTable["DataSource"]; | string dataSource = (string)confTable["DataSource"]; | ||
| </code> | </code> | ||
| + | |||
| + | |||
| + | |||
| ===== Programación declarativa con C# ===== | ===== Programación declarativa con C# ===== | ||
| * [[code:best-practices#programacion_declarativa|Programación declarativa]] | * [[code:best-practices#programacion_declarativa|Programación declarativa]] | ||
| + | ==== Métodos ==== | ||
| + | Podemos realizar un bucle ''foreach'' con el método ''List<T>.ForEac'' y una expresión lambda. | ||
| + | <code csharp> | ||
| + | using System; | ||
| + | using System.Collections.Generic; | ||
| + | |||
| + | class Example | ||
| + | { | ||
| + | static void Main() | ||
| + | { | ||
| + | new List<Int32> { 1, 2, 3 } | ||
| + | .ForEach(i => Console.WriteLine(i)); | ||
| + | } | ||
| + | } | ||
| + | </code> | ||
| + | De una forma parecida podemos sacar partido del delagado ''Action<T>'', el cual permite una funcion ''Action<Int32>'' el cual encaja con ''Console.WriteLine''. | ||
| + | <code csharp> | ||
| + | using System; | ||
| + | using System.Collections.Generic; | ||
| + | |||
| + | class Example | ||
| + | { | ||
| + | static void Main() | ||
| + | { | ||
| + | new List<Int32> { 1, 2, 3 } | ||
| + | .ForEach(Console.WriteLine); | ||
| + | } | ||
| + | } | ||
| + | </code> | ||
| + | También el método ''Enumerable.Range'': | ||
| + | <code csharp> | ||
| + | using System; | ||
| + | using System.Linq; | ||
| + | |||
| + | class Example | ||
| + | { | ||
| + | static void Main() | ||
| + | { | ||
| + | Int32 sum = Enumerable.Range(0, 99) | ||
| + | .Where(i => i % 2 == 0) | ||
| + | .Sum(); | ||
| + | Console.WriteLine(sum); | ||
| + | } | ||
| + | } | ||
| + | </code> | ||