В коде, ниже, простота и выразительность языка C#. Код легко понять даже ребенку.
using System; using System.Linq; using System.Linq.Expressions; using System.Collections.Generic; namespace t { class MainClass { public static void Main (string[] args) { Action<Product> printName = (p) => Console.WriteLine (p.Name); Action<Product> printTax = (p) => Console.WriteLine (p.Price * Convert.ToDecimal (0.18)); Action<Product> print = (p) => { printName.Invoke (p); printTax.Invoke (p); Console.WriteLine(p.Price); }; Product.List () .Where (x => x.Price > 0) .OrderBy (p => p.Name) .ToList () .ForEach (print); } } class Product { public string Name{ get; } public Decimal Price{ get; } public Product (string name, Decimal price) { Name = name; Price = price; } public override string ToString () { return string.Format ("[Product: Name={0}, Price={1}]", Name, Price); } #region Вспомогательные функции для отладки public static List<Product> List () { return new List<Product> () { new Product (name: "Пицца", price: 1), new Product (name: "Колбаса", price: 3), new Product (name: "Сыр", price: 2) }; } #endregion } }
Комментарии
Отправить комментарий