//Create a Book
public class Book
{
public string Title { get; set; }
public float Price { get; set; }
}
//Create a repository
public class BookRepository
{
public IEnumerable<Book> GetBooks()
{
return new List<Book>
{
new Book(){Title="ADO.Net Step By Step", Price=5},
new Book(){Title="Asp.Net MVC", Price=9.99f},
new Book(){Title="Asp.Net WebAPI", Price=7},
new Book(){Title="C# Advance Topics", Price=12},
new Book(){Title="C# Advance Topics", Price=12}
};
}
}
//Use this repository in program class
class Program
{
static void Main(string[] args)
{
var books = new BookRepository().GetBooks();
//LINQ Query Operstors
/*
var cheaperBooks = from b in books where b.Price < 10 select b;
var cheaperBooks = from b in books where b.Price < 10 orderby b.Price select b;
*/
var cheaperBooks = from b in books
where b.Price < 10
orderby b.Title
select b.Title;
foreach (var book in cheaperBooks)
{
Console.WriteLine(book);
//Console.WriteLine("Books title is {0} and price is {1}", book.Title, book.Price);
}
//LINQ Extension methods
/* var cheapBooks = books.Where(b => b.Price < 10);
var cheapBooks = books.Where(b => b.Price < 10).OrderBy(b => b.Price); */
var cheapBooks = books
.Where(b => b.Price < 10)
.OrderBy(b => b.Price)
.Select(b => b.Title);
foreach (var book in cheapBooks)
{
Console.WriteLine(book);
//Console.WriteLine("Books title is {0} and price is {1}", book.Title, book.Price);
}
//LINQ Extension method
//In single method lamda condition should always true other wise application will crash
var book = books.Single(b => b.Title == "ADO.Net Step By Step");
Console.WriteLine(book.Title);
//In SingleOrDefault method lamda condition is false it will return null or default value
var book = books.SingleOrDefault(b => b.Title == "ADO.Net Step By Step ++");
Console.WriteLine(book == null);
var book = books.First(b => b.Title == "C# Advance Topics");
Console.WriteLine(book.Title + " " + book.Price);
var book = books.FirstOrDefault(b => b.Title == "C# Advance Topics");
Console.WriteLine(book.Title + " " + book.Price);
var book = books.Last(b => b.Title == "C# Advance Topics");
Console.WriteLine(book.Title + " " + book.Price);
var book = books.LastOrDefault(b => b.Title == "C# Advance Topics");
Console.WriteLine(book.Title + " " + book.Price);
var pageBooks = books.Skip(2).Take(3);
foreach (var book in pageBooks)
{
Console.WriteLine(book.Title);
}
var count = books.Count();
Console.WriteLine(count);
var max = books.Max(b => b.Price);
Console.WriteLine(max);
var minPrice = books.Min(b => b.Price);
Console.WriteLine(minPrice);
var sum = books.Sum(b => b.Price);
Console.WriteLine(sum);
Console.ReadKey();
}
}
No comments:
Post a Comment