Files

93 lines
3.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Linq_examples
{
class Program
{
static void Main(string[] args)
{
var books = new BookRepository().GetBooks();
//Books with price less than 10, method 1
var cheapBooks = new List<Book>();
foreach (var book in books)
{
if (book.Price < 10)
cheapBooks.Add(book);
}
foreach (var book in cheapBooks)
Console.WriteLine(book.Title + " " + book.Price);
//--------------------------------------------------------
//Books with price less than 10, method 2
var cheapBooks2 = books.Where(b => b.Price < 10);
foreach (var book in cheapBooks2)
Console.WriteLine(book.Title + " " + book.Price);
var cheapBooks3 = books.Where(b => b.Price < 10).OrderBy(b => b.Title);
foreach (var book in cheapBooks3)
Console.WriteLine(book.Title + " " + book.Price);
//LINQ Query Operators
var cheaperBooks =
from b in books
where b.Price < 10
orderby b.Title
select b.Title;
foreach (var book in cheaperBooks)
Console.WriteLine(book);
//--------------------------------------------------------
//LINQ Extension Methods
var cheapBooks4 = books
.Where(b => b.Price < 10)
.OrderBy(b => b
.Title).Select(b => b.Title);
foreach (var book in cheapBooks4)
Console.WriteLine(book);
//--------------------------------------------------------
var sngbook = books.Single(b => b.Title == "ASP.Net MVC");
Console.WriteLine(sngbook.Title);
var sngnbook = books.SingleOrDefault(b => b.Title == "ASP.Net MVC++");
Console.WriteLine(sngnbook==null);
var fbook = books.First(b => b.Title == "C# Advanced topics");
Console.WriteLine(fbook.Title+" "+fbook.Price);
var fdbook = books.FirstOrDefault(b => b.Title == "C# Advanced topicsx");
Console.WriteLine(fdbook==null);
var lbook = books.Last(b => b.Title == "C# Advanced topics");
Console.WriteLine(lbook.Title + " " + lbook.Price);
var ldbook = books.LastOrDefault(b => b.Title == "C# Advanced topicsx");
Console.WriteLine(ldbook == null);
var skiptakebooks = books.Skip(2).Take(3);
foreach (var book in skiptakebooks)
Console.WriteLine(book.Title + " " + book.Price);
var count = books.Count();
Console.WriteLine(count);
var maxPrice = books.Max(b => b.Price);
Console.WriteLine(maxPrice);
var minPrice = books.Min(b => b.Price);
Console.WriteLine(minPrice);
var priceSum = books.Sum(b => b.Price);
Console.WriteLine(priceSum);
}
}
}