Linq extensions examplified
This commit is contained in:
92
Linq_examples/Program.cs
Normal file
92
Linq_examples/Program.cs
Normal file
@ -0,0 +1,92 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user