Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Programming C# 4.0
SPECIAL OFFER: Upgrade this ebook with O’Reilly A Note Regarding Supplemental Files Preface
How This Book Is Organized
Where to Find Features New in C# 4.0 and .NET 4
Who This Book Is For What You Need to Use This Book Conventions Used in This Book Using Code Examples Safari® Books Online Acknowledgments
From Ian Griffiths From Matthew Adams
1. Introducing C#
Why C#? Why .NET? The .NET Framework Class Library Language Style
Composability Managed Code Continuity and the Windows Ecosystem
C# 4.0, .NET 4, and Visual Studio 2010 Summary
2. Basic Programming Techniques
Getting Started Namespaces and Types Projects and Solutions Comments, Regions, and Readability
Bad Comments XML Documentation Comments
Variables
Variable Types
Integers Floating point Decimal floating point
Expressions and Statements
Assignment Statements Increment and Decrement Operators
Flow Control with Selection Statements
if Statements
if...else
switch and case Statements
Iteration Statements
foreach Statements for Statements while and do Statements Breaking Out of a Loop
Methods Summary
3. Abstracting Ideas with Classes and Structs
Divide and Conquer
Abstracting Ideas with Methods Abstracting Ideas with Objects and Classes
Object-oriented analysis
Defining Classes
Representing State with Properties Protection Levels Initializing with a Constructor Fields: A Place to Put Data Fields Can Be Fickle, but const Is Forever Read-only Fields and Properties
Related Constants with enum Value Types and Reference Types Too Many Constructors, Mr. Mozart Overloading
Overloaded Methods and Default Named Parameters
Object Initializers Defining Methods
Declaring Static Methods
Static Fields and Properties
Static Constructors
Summary
4. Extensibility and Polymorphism
Association Through Composition and Aggregation Inheritance and Polymorphism Replacing Methods in Derived Classes
Hiding Base Members with new Replacing Methods with virtual and override
Inheritance and Protection Calling Base Class Methods Thus Far and No Farther: sealed Requiring Overrides with abstract All Types Are Derived from Object
Boxing and Unboxing Value Types
C# Does Not Support Multiple Inheritance of Implementation C# Supports Multiple Inheritance of Interface Deriving Interfaces from Other Interfaces
Explicit Interface Implementation
The Last Resort: Checking Types at Runtime Summary
5. Composability and Extensibility with Delegates
Functional Composition with delegate Generic Actions with Action<T> Generic Predicates with Predicate<T> Using Anonymous Methods Creating Delegates with Lambda Expressions Delegates in Properties Generic Delegates for Functions Notifying Clients with Events
Exposing Large Numbers of Events
Summary
6. Dealing with Errors
When and How to Fail Returning Error Values
Debugging with Return Values
Exceptions
Handling Exceptions When Do finally Blocks Run? Deciding What to Catch Custom Exceptions
Summary
7. Arrays and Lists
Arrays
Construction and Initialization
Array arguments and the params keyword
Custom Types in Arrays Array Members
Finding elements Ordering elements Moving or copying elements
Array Size
Arrays of arrays (or jagged arrays) Rectangular arrays
List<T>
Custom Indexers
Immutability and List<T>
Finding and Sorting
Collections and Polymorphism
Creating Your Own IEnumerable<T>
Lazy collections
Summary
8. LINQ
Query Expressions
Query Expressions Versus Method Calls Extension Methods and LINQ let Clauses
LINQ Concepts and Techniques
Delegates and Lambdas Functional Style and Composition Deferred Execution
LINQ Operators
Filtering Ordering Concatenation Grouping Projections
Anonymous types Using multiple sources Numbering items
Zipping Getting Selective Testing the Whole Collection Aggregation Set Operations Joining Conversions
Summary
9. Collection Classes
Dictionaries
Common Dictionary Uses
Looking up values Caching Dynamic properties Sparse arrays
IDictionary<TKey, TValue> Dictionaries and LINQ
HashSet and SortedSet Queues Linked Lists Stacks Summary
10. Strings
What Is a String? The String and Char Types Literal Strings and Chars
Escaping Special Characters
Formatting Data for Output
Standard Numeric Format Strings
Currency Decimal Hexadecimal Exponential form Fixed point General Numeric Percent Round trip
Custom Numeric Format Strings Dates and Times Going the Other Way: Converting Strings to Other Types Composite Formatting with String.Format
Culture Sensitivity
Exploring Formatting Rules
Accessing Characters by Index Strings Are Immutable Getting a Range of Characters Composing Strings
Splitting It Up Again Upper- and Lowercase
Manipulating Text
Mutable Strings with StringBuilder
Finding and Replacing Content All Sorts of “Empty” Strings Trimming Whitespace Checking Character Types Encoding Characters
Why Encodings Matter Encoding and Decoding Why Represent Strings As Byte Sequences?
Summary
11. Files and Streams
Inspecting Directories and Files Examining Directories Manipulating File Paths
Path and the Current Working Directory
Examining File Information Creating Temporary Files Deleting Files Well-Known Folders Concatenating Path Elements Safely Creating and Securing Directory Hierarchies Deleting a Directory Writing Text Files
Writing a Whole Text File at Once Writing Text with a StreamWriter
When Files Go Bad: Dealing with Exceptions
Finding and Modifying Permissions
Reading Files into Memory Streams
Moving Around in a Stream Writing Data with Streams
Reading, Writing, and Locking Files FileStream Constructors
Stream Buffers Setting Permissions During Construction Setting Advanced Options
Asynchronous File Operations Isolated Storage
Stores Reading and Writing Text Defining “Isolated”
Isolation by user and assembly Isolation by user, domain, and assembly Isolation by user and application Machine isolation
Managing User Storage with Quotas Managing Isolated Storage
Streams That Aren’t Files
An Adapting Stream: CryptoStream In Memory Alone: The MemoryStream Representing Binary As Text with Base64 Encoding
Summary
12. XML
XML Basics (A Quick Review)
Elements XHTML
X Stands for eXtensible Creating XML Documents
XML Elements XML Attributes Putting the LINQ in LINQ to XML
Searching in XML with LINQ
Searching for a Single Node Search Axes Where Clauses
XML Serialization
Customizing XML Serialization Using Attributes
Summary
13. Networking
Choosing a Networking Technology
Web Application with Client-Side Code .NET Client and .NET Server
Tightly controlled deployment Weakly controlled deployment
.NET Client and External Party Web Service External Client and .NET Web Service
WCF
Creating a WCF Project WCF Contracts WCF Test Client and Host Hosting a WCF Service
WCF configuration
Writing a WCF Client
Sharing contracts Proxy
Bidirectional Communication with Duplex Contracts
Session-based communication Calling the client from the server Server configuration for duplex and sessions Duplex client
HTTP
WebClient
Downloading resources Uploading resources Stream-based uploads and downloads
WebRequest and WebResponse
Authentication Working with proxies Controlling cache behavior Using cookies
Sockets
IP, IPv6, and TCP Connecting to Services with the Socket Class Implementing Services with the Socket Class
Other Networking Features Summary
14. Databases
The .NET Data Access Landscape
Classic ADO.NET
IDataReader and friends ADO.NET data sets
LINQ and Databases Non-Microsoft Data Access Technologies WCF Data Services Silverlight and Data Access Databases
Getting up and running with SQL Server 2008 Express
The Entity Data Model
Generated Code Changing the Mapping Relationships
Navigation properties Multiplicity
Inheritance
Queries
LINQ to Entities Entity SQL Mixing ESQL and LINQ The EntityClient ADO.NET Provider
Object Context
Connection Handling Creating, Updating, and Deleting Transactions Optimistic Concurrency Context and Entity Lifetime
WCF Data Services Summary
15. Assemblies
.NET Components: Assemblies
References Writing Libraries Protection
Internal protection
Naming
Signing and Strong Names
Loading
Loading from the Application Folder Loading from the GAC Loading from a Silverlight .xap File Explicit Loading
Unloading
Summary
16. Threads and Asynchronous Code
Threads
Threads and the OS Scheduler The Stack The Thread Pool Thread Affinity and Context Common Thread Misconceptions
Myth: Threads are necessary to get work done Myth: Multiple logical processors will necessarily make things faster Myth: Maxing the CPU must mean we’re going really fast
Multithreaded Coding Is Hard
Race conditions Deadlocks and livelocks
Multithreading Survival Strategies
Abstinence Isolation Immutability Synchronization
Synchronization Primitives
Monitor
Notification
Other Lock Types
SpinLock Reader/writer locks Mutexes
Other Coordination Mechanisms Events Countdown BlockingCollection
Asynchronous Programming
The Asynchronous Programming Model The Event-Based Asynchronous Pattern Ad Hoc Asynchrony
The Task Parallel Library
Tasks
Parent-child relationships Fine-grained concurrency Tasks with results Continuations Schedulers Tasks and the Asynchronous Programming Model
Cancellation Error Handling
Data Parallelism
Parallel For and ForEach PLINQ: Parallel LINQ
Summary
17. Attributes and Reflection
Attributes
Types of Attributes
Attribute targets Applying attributes
Custom Attributes
Defining a custom attribute Naming an attribute Constructing an attribute Using an attribute
Reflection
Inspecting Metadata Type Discovery Reflecting on a Specific Type
Finding all type members Finding type methods
Late Binding
Summary
18. Dynamic
Static Versus Dynamic
The Dynamic Style and COM Automation
The dynamic Type
Object Types and dynamic
COM objects Silverlight script objects Ordinary .NET objects Objects from other dynamic languages ExpandoObject Custom dynamic objects
dynamic in Noninterop Scenarios? Summary
19. Interop with COM and Win32
Importing ActiveX Controls
Importing a Control in .NET
Interop Assemblies
No PIA
64-bit Versus 32-bit P/Invoke Pointers C# 4.0 Interop Syntax Enhancements
Indexed Properties Optional ref
Summary
20. WPF and Silverlight
Xaml and Code Behind
Xaml and Objects
Elements and Controls
Layout Panels
General-purpose layout properties Transforms
Graphical Elements
Shapes Images Media Animation 3D graphics
Controls
Content controls Items controls
User Controls
Control Templates
Styles The Visual State Manager
Data Binding
Data Templates
Summary
21. Programming ASP.NET Applications
Web Forms Fundamentals
Web Forms Events
Postback versus nonpostback events View state
Web Forms Life Cycle
Creating a Web Application
Code-Behind Files Adding Controls Server Controls
Data Binding
Examining the Code Adding Controls and Events
Summary
22. Windows Forms
Creating the Application
Adding a Binding Source
Controls
Docking and Anchoring
Data Binding Event Handling Summary
Index About the Authors Colophon SPECIAL OFFER: Upgrade this ebook with O’Reilly
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion