93 lines
3.1 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|