101个LINQ例子(5)

2019-03-29 11:04

var productGroups =

from p in products

group p by p.Category into g

where g.Group.All(p => p.UnitsInStock > 0)

select new {Category = g.Key, Products = g.Group}; ObjectDumper.Write(productGroups, 1); }

Aggregate Operators Count - Simple public void Linq73() {

int[] factorsOf300 = { 2, 2, 3, 5, 5 };

int uniqueFactors = factorsOf300.Distinct().Count();

Console.WriteLine(\ }

Count - Conditional public void Linq74() {

int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

int oddNumbers = numbers.Count(n => n % 2 == 1);

Console.WriteLine(\s); }

Count - Indexed

public void Linq75() {

int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

int oddEvenMatches = numbers.Count((n, index) => n % 2 == index % 2); Console.WriteLine(\ \ }

Count - Nested

public void Linq76() {

List customers = GetCustomerList(); var orderCounts =

from c in customers

select new {c.CustomerID, OrderCount = c.Orders.Count()}; ObjectDumper.Write(orderCounts); }

Count - Grouped

public void Linq77() {

List products = GetProductList(); var categoryCounts =

from p in products

group p by p.Category into g

select new {Category = g.Key, ProductCount = g.Group.Count()}; ObjectDumper.Write(categoryCounts); }

Sum - Simple

public void Linq78() {

int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; double numSum = numbers.Sum();

Console.WriteLine(\ }

Sum - Projection

public void Linq79() {

string[] words = { \

double totalChars = words.Sum(w => w.Length);

Console.WriteLine(\ }

Sum - Grouped

public void Linq80() {

List products = GetProductList(); var categories =

from p in products

group p by p.Category into g

select new {Category = g.Key, TotalUnitsInStock = g.Group.Sum(p => p.UnitsInStock)}; ObjectDumper.Write(categories); }

Min - Simple

public void Linq81() {

int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; int minNum = numbers.Min();

Console.WriteLine(\ }

Min - Projection

public void Linq82() {

string[] words = { \ int shortestWord = words.Min(w => w.Length);

Console.WriteLine(\ }

Min - Grouped

public void Linq83() {

List products = GetProductList(); var categories =

from p in products

group p by p.Category into g

select new {Category = g.Key, CheapestPrice = g.Group.Min(p => p.UnitPrice)}; ObjectDumper.Write(categories); }

Min - Elements public void Linq84() {

List products = GetProductList(); var categories =

from p in products

group p by p.Category into g

from minPrice = g.Group.Min(p => p.UnitPrice)

select new {Category = g.Key, CheapestProducts = g.Group.Where(p => p.UnitPrice == minPrice)};

ObjectDumper.Write(categories, 1); }

Max - Simple

public void Linq85() {

int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

int maxNum = numbers.Max();

Console.WriteLine(\ }

Max - Projection

public void Linq86() {

string[] words = { \

int longestLength = words.Max(w => w.Length);

Console.WriteLine(\ }

Max - Grouped

public void Linq87() {

List products = GetProductList(); var categories =

from p in products

group p by p.Category into g

select new {Category = g.Key, MostExpensivePrice = g.Group.Max(p => p.UnitPrice)}; ObjectDumper.Write(categories);

}

Max - Elements

public void Linq88() {

List products = GetProductList(); var categories =

from p in products

group p by p.Category into g

from maxPrice = g.Group.Max(p => p.UnitPrice)

select new {Category = g.Key, MostExpensiveProducts = g.Group.Where(p => p.UnitPrice == maxPrice)};

ObjectDumper.Write(categories, 1); }

Average - Simple public void Linq89() {

int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; double averageNum = numbers.Average();

Console.WriteLine(\ }

Average - Projection public void Linq90() {

string[] words = { \

double averageLength = words.Average(w => w.Length);

Console.WriteLine(\ }

Average - Grouped public void Linq91() {

List products = GetProductList(); var categories =

from p in products

group p by p.Category into g

select new {Category = g.Key, AveragePrice = g.Group.Average(p => p.UnitPrice)}; ObjectDumper.Write(categories); }

Fold - Simple

public void Linq92() {

double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 };

double product = doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor);

Console.WriteLine(\

}

Fold - Seed

public void Linq93() {

double startBalance = 100.0;

int[] attemptedWithdrawals = { 20, 10, 40, 50, 10, 70, 30 }; double endBalance =

attemptedWithdrawals.Fold(startBalance, (balance, nextWithdrawal) =>

( (nextWithdrawal <= balance) ? (balance - nextWithdrawal) : balance ) ); Console.WriteLine(\ }

Miscellaneous Operators Concat - 1

public void Linq94() {

int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 }; int[] numbersB = { 1, 3, 5, 7, 8 };

var allNumbers = numbersA.Concat(numbersB); Console.WriteLine(\ foreach (var n in allNumbers) { Console.WriteLine(n); } }

Concat - 2

public void Linq95() {

List customers = GetCustomerList(); List products = GetProductList(); var customerNames = from c in customers select c.CompanyName; var productNames = from p in products

select p.ProductName;

var allNames = customerNames.Concat(productNames); Console.WriteLine(\ foreach (var n in allNames) { Console.WriteLine(n); } }

EqualAll - 1

public void Linq96() {


101个LINQ例子(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:海韵嘉园业务资料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: