Contents

Foreword

Preface

Acknowledgments

About the Author

Chapter 1: Introducing LINQ

What Is LINQ?

The (Almost) Current LINQ Story

LINQ Code Makeover—Before and After Code Examples

Benefits of LINQ

Summary

References

Chapter 2: Introducing LINQ to Objects

LINQ Enabling C# 3.0 Language Enhancements

LINQ to Objects Five-Minute Overview

Summary

References

Chapter 3: Writing Basic Queries

Query Syntax Style Options

How to Filter the Results (Where Clause)

How to Change the Return Type (Select Projection)

How to Return Elements When the Result Is a Sequence (Select Many)

How to Get the Index Position of the Results

How to Remove Duplicate Results

How to Sort the Results

Summary

Chapter 4: Grouping and Joining Data

How to Group Elements

How to Join with Data in Another Sequence

Summary

Chapter 5: Standard Query Operators

The Built-In Operators

Aggregation Operators—Working with Numbers

Conversion Operators—Changing Types

Element Operators

Equality Operator—SequenceEqual

Generation Operators—Generating Sequences of Data

Merging Operators

Partitioning Operators—Skipping and Taking Elements

Quantifier Operators—All, Any, and Contains

Summary

Chapter 6: Working with Set Data

Introduction

The LINQ Set Operators

The HashSet<T> Class

Summary

Chapter 7: Extending LINQ to Objects

Writing a New Query Operator

Writing a Single Element Operator

Writing a Sequence Operator

Writing an Aggregate Operator

Writing a Grouping Operator

Summary

Chapter 8: C# 4.0 Features

Evolution of C#

Optional Parameters and Named Arguments

Dynamic Typing

COM-Interop and LINQ

Summary

References

Chapter 9: Parallel LINQ to Objects

Parallel Programming Drivers

Multi-Threading Versus Code Parallelism

Parallelism Expectations, Hindrances, and Blockers

LINQ Data Parallelism

Writing Parallel LINQ Operators

Summary

References

Glossary

Index

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

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