e.g. 5.26 Querying Without LINQ
This commit is contained in:
parent
a376175c76
commit
e2aa8c7cba
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
using automatically_implemented_properties;
|
using automatically_implemented_properties;
|
||||||
|
|
||||||
namespace automatically_implemented_properties
|
namespace automatically_implemented_properties
|
||||||
@ -9,29 +10,31 @@ namespace automatically_implemented_properties
|
|||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
// create and populate Shopping Cart, implementing IEnumerable<Product> interface
|
Product[] products =
|
||||||
IEnumerable<Product> products = new ShoppingCart
|
|
||||||
{
|
{
|
||||||
Products = new List<Product>
|
new Product {Name = "Kayak", Category = "Watersports", Price = 275M},
|
||||||
{
|
new Product {Name = "Lifejacket", Category = "Watersports", Price = 48.95M},
|
||||||
new Product {Name = "Kayak", Category = "Watersports", Price = 275M},
|
new Product {Name = "Soccer ball", Category = "Soccer", Price = 19.50M},
|
||||||
new Product {Name = "Lifejacket", Category = "Watersports", Price = 48.95M},
|
new Product {Name = "Corner flag", Category = "Soccer", Price = 34.95M}
|
||||||
new Product {Name = "Soccer ball", Category = "Soccer", Price = 19.50M},
|
|
||||||
new Product {Name = "Corner flag", Category = "Soccer", Price = 34.95M}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
IEnumerable<Product> filteredProducts = products.Filter(prod =>
|
// define the array to hold results
|
||||||
prod.Category == "Soccer" ||
|
Product[] results = new Product[3];
|
||||||
prod.Price > 20);
|
// sort the contents of the array
|
||||||
|
Array.Sort(products, (item1, item2) =>
|
||||||
foreach (Product prod in filteredProducts)
|
|
||||||
{
|
{
|
||||||
Console.WriteLine("Name: {0}, Price {1:c}", prod.Name, prod.Price);
|
return Comparer<decimal>.Default.Compare(item1.Price, item2.Price);
|
||||||
|
});
|
||||||
|
// get the first three items in the array as the results
|
||||||
|
Array.Copy(products, results, 3);
|
||||||
|
// print out the name
|
||||||
|
foreach (Product p in results)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Item: {0}, Cost: {1}", p.Name, p.Price);
|
||||||
}
|
}
|
||||||
|
|
||||||
decimal total = products.FilterByCategory("Soccer").TotalPrices();
|
int count = 0;
|
||||||
Console.WriteLine("Filtered total: {0:c}", total);
|
// print the name
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user