Index of 3.0 Topics

accessing code, 25

accessors, properties, 232

Add() method, 249, 566567

aggregation, 287

anonymous methods, internals, 515516

anonymous types, 5657, 560–562, 564566

array initialization, 568569

constructors, 253255

projecting to, 581

APIs (application programming interfaces), 27

AsParallel() method, 582

associating data types, 57

ATL (Active Template Library), 287

automating properties, implementing, 232234

Average() method, 607

avoiding repeated execution, 588

backing field declarations, 232, 244

BCL (Base Class Library), 25

C++ language

implicitly typed variables, 563

multiple inheritance, 287

caches, avoiding repeated, 588

calling SelectMany() method, 602604

capturing

loop variables, 519520

variables, 516

Cartesian products, 596, 629

child collections, formatting, 600

CIL (Common Intermediate Language)

extension methods, 266

objects, initializers, 248

outer variables, implementing, 518519

classes

BCL, 25, 26

constructors

anonymous types, 253255

common initializers, 249

defaults, 247

object initializers, 247248

extension methods, 265266

FileInfo, 623624

graphs, expression trees, 523525

initializers, 247248

System.Linq.Enumerable, 575

clauses

FROM, 613

from, 628630

groupby, 625

let, 623624

orderby, 622623

SELECT, 613

WHERE, 613, 621622

CLI (Common Language Infrastructure), 26

closed over variables, 516

CLS (Common Language Specification), 25

Code Access Security (CAS), 25

collections

child, formatting, 600

filtering, 612

initializers, 566569

interfaces

anonymous types, 560–562

implicit local variables, 562563, 564566

projecting, 612

common initializers, 249

Concat() method, 606

constructors

anonymous types, 253255

common initializers, 249

defaults, 247

object initializers, 247248

continuation, query expressions, 627628

Count() method, 583584, 607, 620

counting items, 583584

CPUs (central processing units) running LINQ queries in parallel, 582

CTS (Common Type System), 25

customizing LINQ, providers, 607

data types

associating, 57

implicitly typed local variables, 5557

declaring backing field declarations, 232, 244

DefaultIfEmpty() method, 601

defaults, constructors, 247

deferred execution

implementing, 621

query expressions, 617

standard query operators, 584588

definitions, default constructors, 247

delegates

exception sequence diagrams, 543

expression trees, 525526

passing, 508

structural equality, 514515

System.Func/System.Action, 512528

diagrams

exceptions, sequences, 543

Venn, join operations, 591

Directory.GetFiles() method, 615

DirectoryInfo.GetFiles() method, 595

distinct members, 629630

Distinct() method, 606, 611

enabling IntelliSense, 613

equality, structural, 514515

error handling, sequential notification, 542545

exception sequences, diagrams, 543

execution

caches, avoiding repeated, 588

deferred

implementing, 621

query expressions, 617

standard query operators, 584588

managing, 26

expressions

lambda

expression trees, 522

internals, 515516

statements, 505508

queries

continuation, 627628

filtering, 621622

flattening sequences, 628620

grouping, 624627

invoking methods, 630632

let clause, 623624

LINQ, 611

overview of, 612–630

projecting, 614617

sorting, 622623

trees, 521528

extensions, methods, 265266

inheritance, 287

interfaces, 330331

fields, backing, 232, 244

FileInfo object, 623624

filtering

collections, 612

query expressions, 621622

System.Linq.Enumerable.Where(), 566567

WHERE clause, 621622

flattening sequences, 628620

formatting child collections, 600

FROM clause, 613

from clause, flattening sequences, 628630

full outer joins, 592

garbage collection, 25

general-purpose delegates, System.Func/System.Action, 512528

generating anonymous types, 566

GetEnumerator() method, 575, 608

GetFirstName() method, 232

graphs, expression trees, 523525

GreaterThan method, 505

groupby clause, 625

GroupBy() method, grouping results, 598599

grouping

query expressions, 624627

results, 598599

GroupJoin() method, 611

guidelines

constructors, defaults, 248

Count() method, 584

delegates, types, 513

extension methods, 266

lambda parameters, 507

OrderBy()/ThenBy() methods, 590

query expressions, 632

handling errors, sequential notification, 542545

IEnumerable interface, 331

IEnumerable<T> interface, 614n1

query expressions, 614

standard query operators, 575608

IListable interface, 331

implementing

CIL, outer variables, 518519

deferred execution, 621

one-to-many relationships, 599602

outer joins, 601602

properties, automating, 232234

implicit local variables, 562563, 564566

anonymous types, 560–561

implicitly typed local variables, 5557

inheritance

extension methods, 287

interfaces, 329330

multiple, 287

initialization

anonymous types, arrays, 568569

collection initializers, 566569

initializers

common, 249

objects, 247248

inner joins, 591

Join() method, 595598

IntelliSense, enabling, 613

interfaces

APIs, 27

collection

anonymous types, 560–562

implicit local variables, 562563, 564566

extension methods, 330331

IEnumerable, 331

IEnumerable<T>

query expressions, 614

standard query operators, 575608

inheritance, multiple, 329330

IOrderedEnumerable<T>, 590

IQueryable<T>, 607608

internals

anonymous methods, 515516

lambda expressions, 515516

interoperability, 25

Intersect() method, 606

into keyword, 627628

invoking

delegates, exception sequence diagrams, 543

methods, query expressions, 630632

IOrderedEnumerable<T> interface, 590

IQueryable<T> interface, 607608

IsKeyword() method, 618

items

counting, 583584

grouping, 598599

JavaScript, implicitly typed variables, 563

Join() method, inner joins, 595598

joining

collections, 591

data types, 57

keywords

into, 627628

properties, defining, 232

lambda expressions, 504510

expression trees, 522

internals, 515516

statements, 505508

tables, 509510

languages, CLS, 25

left outer joins, 591

let clause, 623624

libraries

ATL, 287

BCL, 25, 26

LINQ

expression trees, 525

providers, customizing, 607

queries

expressions, 611

running in parallel, 582583

support, 27

listings

classes

automatically implemented properties, 233234

calling object initializers, 248, 249

defining nested classes, 274275

implicit local variables, 254

initialization methods, 253

collection interfaces

filtering with System.Linq.Enumerable.Where(), 566567

implicit local variables with anonymous types, 560–561

initializing anonymous type arrays, 568569

type safety, 564565

delegates

applying variance, 514515

capturing loop variables, 519520, 521

CIL code for outer variables, 518

CIL for lambda expressions, 515516

declaring Func/Action, 512513

expression trees, 523

outer variables, 516517

viewing expression trees, 526528

implicit local variables, 5657

lambda expressions

omitting parameter types, 506

parameterless statements, 507

passing delegates, 508

single input parameters, 507

statements, 505

query expressions, 612–613, 630631

anonymous types, 616

continuation, 628

deferred execution, 617620

distinct members, 629630

filtering, 621622

grouping, 624625

multiple selection, 628

ordering results, 614

projection using, 615

selecting anonymous types, 626627

sorting, 622

sorting by file size, 623

standard query operator syntax, 631

standard query operators

calling SelectMany() method, 602603

classes, 576578

counting items, 583

creating child collections, 600

executing LINQ queries in parallel, 582

filtering with System.Linq.Enumerable.Where() method, 579, 584585

grouping items, 598599

inner joins, 595596, 597

ordering, 588589

outer joins, 601602

projection to anonymous types, 581

projection with System.Linq.Enumerable.Select() method, 580

sample employee/department data, 592594

System.Linq.Enumerable() method calls, 604605

strings, implicitly typed local variables, 5556

local variables

anonymous types, 560–561

implicit, 562563, 564566

implicitly typed, 5557

loops, capturing variables, 519520

managing execution, 26

many-to-many relationships, 592

Max() method, 607

members, distinct, 629630

metadata, 25

methods

Add(), 249, 566567

anonymous, 515516

AsParallel(), 582

Average(), 607

Concat(), 606

Count(), 583584, 607, 620

DefaultIfEmpty(), 601

Directory.GetFiles(), 615

DirectoryInfo.GetFiles(), 595

Distinct(), 606, 611, 629630

extension, 265266

inheritance, 287

interfaces, 330331

GetEnumerator(), 575, 608

GetFirstName(), 232

GreaterThan, 505

GroupBy(), grouping results, 598599

GroupJoin(), 599602, 611

Intersect(), 606

invoking, 630632

IsKeyword(), 618

Join(), 595598

Max(), 607

Min(), 607

NameChanging(), 276

OfType<T>(), 606

OnFirstNameChanging(), 276

OnLastNameChanging(), 276

OrderBy(), 588594

partial, 273276

Reverse(), 606

Select(), 580582

SelectMany(), 601, 602604, 611

SequenceEquals(), 606

standard query operators, 575608

Sum(), 607

System.Linq.Enumerable.Where(), filtering with, 566567

ThenBy(), 588594

ToArray(), 586

ToLookup(), 586

Union(), 606

Where(), 507, 578589

Microsoft .NET, versioning, 2627

Min() method, 607

mind maps, query expressions, 611

modifying collections, 575

multiple inheritance, interfaces, 329330

multiple selection, query expressions, 629

NameChanging() method, 276

.NET (Microsoft), versioning, 2627

normalization, 595

notifications, sequential, 542545

OfType<T>() method, 606

one-to-many relationships, 592

implementing, 599602

OnFirstNameChanging() method, 276

OnLastNameChanging() method, 276

operators, queries, 575608

orderby clause, 622623

OrderBy() method, 588594

outer joins, 591, 601602

outer variables, 516517

CIL implementations, 518519

parameters, IListable, 331

partial methods, 273276

passing delegates, 508

portability of platforms, 25

predicates, 508

query expressions, 621

Where() method, 578

products, Cartesian, 596, 629

projecting

to anonymous types, 581

collections, 612

query expressions, 614617

with Select() method, 580582

properties, automating, 232234

providers, customizing LINQ, 607

query expressions

continuation, 627628

deferred execution, 617

filtering, 621622

flattening sequences, 628620

grouping, 624627

invoking methods, 630632

IQueryable<T> interface, 607608

let clause, 623624

LINQ, 582583, 611

operators, 575608

overview of, 612–630

projecting, 614617

sorting, 622623

ranges, variables, 613

relationships

many-to-many, 592

one-to-many, 592, 599602

results, grouping, 598599

Reverse() method, 606

right outer joins, 591

running LINQ queries in parallel, 582583

runtime, 25

safety, types, 25

security, code access, 25

SELECT clause, 613

Select() method, projecting with, 580582

selecting multiple query expressions, 629

SelectMany() method, 601, 602604, 611, 628

SequenceEquals() method, 606

sequences

exceptions, diagrams, 543

flattening, 628620

notification, error handling, 542545

SelectMany, 628

sorting

OrderBy() method/ ThenBy() method, 588594

query expressions, 622623

standard query operators, 575608

Count() method, counting items with, 583584

deferred execution, 584588

GroupBy() method, grouping results with, 598599

GroupJoin() method, implementing one-to-many relationships, 599602

IQueryable<T> interface, 607608

Join() method, inner joins, 595598

LINQ queries, running in parallel, 582583

OrderBy() method/ ThenBy() method, 588594

Select() method, projecting with, 580582

SelectMany() method, 602604

Where() method, filtering with, 578589

statements, lambda expressions, 505508

structural equality, delegates, 514515

Sum() method, 607

support, LINQ, 27

System.Action delegate, 512528

System.Func delegate, 512528

System.Linq.Enumerable class, 575

System.Linq.Enumerable.Where() method, filtering, 566567

tables

aggregate functions on System.Linq.Enumerable, 607

keywords, 5

lambda expressions, 509510

.NET versions, 27

standard query operators, 606

ThenBy() method, 588594

ToArray() method, 586

ToLookup() method, 586

trees, expressions, 521528

types

anonymous, 5657, 560–566

constructors, 253255

CTS, 25

safety, 25

Union() method, 606

validating constructors, 244

variables

local, implicitly typed, 5557

loops, 519520

outer, 516517, 518519

ranges, 613

Venn diagrams, join operations, 591

versioning, .NET (Microsoft), 2627

Visual Basic, implicitly typed variables, 563

WCF (Windows Communication Foundation), 27

WF (Windows Workflow), 27

WHERE clause, 613

filtering, 621622

Where() method, 507

filtering with, 578589

WinRT (Windows Runtime), 27

WPF (Windows Presentation Foundation), 27

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.208.200