Advertisement
Fhernd

FrutaLinq.cs

Jul 25th, 2015
21,476
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.42 KB | None | 0 0
  1. // OrtizOL - xCSw - http://ortizol.blogspot.com
  2.  
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6.  
  7. namespace Recetas.CSharp.R0525
  8. {
  9.     internal class Fruta
  10.     {
  11.         public Fruta(string nombre, string color)
  12.         {
  13.             Nombre = nombre;
  14.             Color = color;
  15.         }
  16.        
  17.         public string Nombre
  18.         {
  19.             get;
  20.             set;
  21.         }
  22.        
  23.         public string Color
  24.         {
  25.             get;
  26.             set;
  27.         }
  28.     }
  29.    
  30.     internal class FrutaLinq
  31.     {
  32.         public static void Main()
  33.         {
  34.             // Creación de la colección con objetos Fruta:
  35.             List<Fruta> frutas = new List<Fruta>(){
  36.                 new Fruta("pera", "verde"),
  37.                 new Fruta("mora", "rojo"),
  38.                 new Fruta("cereza", "rojo"),
  39.                 new Fruta("mango", "amarillo"),
  40.                 new Fruta("banano", "amarillo"),
  41.                 new Fruta("naranja", "naranaja"),
  42.                 new Fruta("tomate", "rojo"),
  43.                 new Fruta("melón", "amarillo"),
  44.                 new Fruta("manzana", "verde")
  45.             };
  46.            
  47.             // Seleccionamos los nombres de las frutas que no son rojas, y
  48.             // que su primera letra es distinta de `p`:
  49.             IEnumerable<string> resultado = from fruta in frutas where fruta.Color != "rojo"
  50.                                            && fruta.Nombre[0] != 'p' orderby fruta.Nombre
  51.                                            select fruta.Nombre;
  52.            
  53.             // Visualización de resultados:
  54.             Console.WriteLine("\nConsulta usando expresiones estándar:");
  55.             foreach(string nombre in resultado)
  56.             {
  57.                 Console.WriteLine("\tResultado: {0}.", nombre);
  58.             }
  59.            
  60.             // Ahora usamos expresiones lambda para la misma consulta:
  61.             resultado = frutas.Where(fruta => fruta.Color != "rojo" && fruta.Nombre[0] != 'p').
  62.                         OrderBy(fruta => fruta.Nombre).Select(fruta => fruta.Nombre);
  63.                        
  64.             // Visualización de resultados:
  65.             Console.WriteLine("\nConsulta usando expresiones lambda:");
  66.             foreach(string nombre in resultado)
  67.             {
  68.                 Console.WriteLine("\tResultado: {0}.", nombre);
  69.             }
  70.            
  71.             Console.WriteLine();
  72.         }
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement