Programming C# 4.0
Author
sarah13
Date
2014-04-23 15:32
Views
11725048
This bestselling tutorial shows you how to build web, desktop, and rich Internet applications using C# 4.0 with .NET's database capabilities, UI framework (WPF), extensive communication services (WCF), and more. The sixth edition covers the latest enhancements to C#, as well as the fundamentals of both the language and framework. You'll learn concurrent programming with C# 4.0, and how to use .NET tools such as the Entity Framework for easier data access, and the Silverlight platform for browser-based RIA development
. With its support for dynamic programming, C# 4.0 continues to evolve as a versatile language on its own. But when C# is used with .NET Framework 4, the combination is incredibly powerful. This bestselling tutorial shows you how to build web, desktop, and rich Internet applications using C# 4.0 with .NET's database capabilities, UI framework (WPF), extensive communication services (WCF), and more.
In this sixth edition, .NET experts Ian Griffiths, Matthew Adams, and Jesse Liberty cover the latest enhancements to C#, as well as the fundamentals of both the language and framework. You'll learn concurrent programming with C# 4.0, and how to use .NET tools such as the Entity Framework for easier data access, and the Silverlight platform for browser-based RIA development.
Learn C# fundamentals, such as variables, flow control, loops, and methods
Build complex programs with object-oriented and functional programming techniques
Process large collections of data with the native query features in LINQ
Communicate across networks with Windows Communication Foundation (WCF)
Learn the advantages of C# 4.0's dynamic language features
Build interactive Windows applications with Windows Presentation Foundation (WPF)
Create rich web applications with Silverlight and ASP.NET
Table of Contents
Chapter 1 Introducing C#
Why C#? Why .NET?
The .NET Framework Class Library
Language Style
C# 4.0, .NET 4, and Visual Studio 2010
Summary
Chapter 2 Basic Programming Techniques
Getting Started
Namespaces and Types
Projects and Solutions
Comments, Regions, and Readability
Variables
Expressions and Statements
Flow Control with Selection Statements
Iteration Statements
Methods
Summary
Chapter 3 Abstracting Ideas with Classes and Structs
Divide and Conquer
Defining Classes
Related Constants with enum
Value Types and Reference Types
Too Many Constructors, Mr. Mozart
Overloading
Object Initializers
Defining Methods
Static Fields and Properties
Summary
Chapter 4 Extensibility and Polymorphism
Association Through Composition and Aggregation
Inheritance and Polymorphism
Replacing Methods in Derived Classes
Inheritance and Protection
Calling Base Class Methods
Thus Far and No Farther: sealed
Requiring Overrides with abstract
All Types Are Derived from Object
C# Does Not Support Multiple Inheritance of Implementation
C# Supports Multiple Inheritance of Interface
Deriving Interfaces from Other Interfaces
The Last Resort: Checking Types at Runtime
Summary
Chapter 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
Summary
Chapter 6 Dealing with Errors
When and How to Fail
Returning Error Values
Exceptions
Summary
Chapter 7 Arrays and Lists
Arrays
List<T>
Collections and Polymorphism
Summary
Chapter 8 LINQ
Query Expressions
LINQ Concepts and Techniques
LINQ Operators
Summary
Chapter 9 Collection Classes
Dictionaries
HashSet and SortedSet
Queues
Linked Lists
Stacks
Summary
Chapter 10 Strings
What Is a String?
The String and Char Types
Literal Strings and Chars
Formatting Data for Output
Culture Sensitivity
Accessing Characters by Index
Strings Are Immutable
Getting a Range of Characters
Composing Strings
Manipulating Text
Finding and Replacing Content
All Sorts of “Empty” Strings
Trimming Whitespace
Checking Character Types
Encoding Characters
Summary
Chapter 11 Files and Streams
Inspecting Directories and Files
Examining Directories
Manipulating File Paths
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
When Files Go Bad: Dealing with Exceptions
Reading Files into Memory
Streams
Reading, Writing, and Locking Files
FileStream Constructors
Asynchronous File Operations
Isolated Storage
Streams That Aren’t Files
Summary
Chapter 12 XML
XML Basics (A Quick Review)
X Stands for eXtensible
Creating XML Documents
Searching in XML with LINQ
XML Serialization
Summary
Chapter 13 Networking
Choosing a Networking Technology
WCF
HTTP
Sockets
Other Networking Features
Summary
Chapter 14 Databases
The .NET Data Access Landscape
The Entity Data Model
Queries
Object Context
WCF Data Services
Summary
Chapter 15 Assemblies
.NET Components: Assemblies
Naming
Loading
Summary
Chapter 16 Threads and Asynchronous Code
Threads
Synchronization Primitives
Asynchronous Programming
The Task Parallel Library
Data Parallelism
Summary
Chapter 17 Attributes and Reflection
Attributes
Reflection
Summary
Chapter 18 Dynamic
Static Versus Dynamic
The dynamic Type
dynamic in Noninterop Scenarios?
Summary
Chapter 19 Interop with COM and Win32
Importing ActiveX Controls
Interop Assemblies
64-bit Versus 32-bit
P/Invoke
Pointers
C# 4.0 Interop Syntax Enhancements
Summary
Chapter 20 WPF and Silverlight
Xaml and Code Behind
Elements and Controls
Control Templates
Data Binding
Summary
Chapter 21 Programming ASP.NET Applications
Web Forms Fundamentals
Creating a Web Application
Data Binding
Summary
Chapter 22 Windows Forms
Creating the Application
Controls
Data Binding
Event Handling
Summary
. With its support for dynamic programming, C# 4.0 continues to evolve as a versatile language on its own. But when C# is used with .NET Framework 4, the combination is incredibly powerful. This bestselling tutorial shows you how to build web, desktop, and rich Internet applications using C# 4.0 with .NET's database capabilities, UI framework (WPF), extensive communication services (WCF), and more.
In this sixth edition, .NET experts Ian Griffiths, Matthew Adams, and Jesse Liberty cover the latest enhancements to C#, as well as the fundamentals of both the language and framework. You'll learn concurrent programming with C# 4.0, and how to use .NET tools such as the Entity Framework for easier data access, and the Silverlight platform for browser-based RIA development.
Learn C# fundamentals, such as variables, flow control, loops, and methods
Build complex programs with object-oriented and functional programming techniques
Process large collections of data with the native query features in LINQ
Communicate across networks with Windows Communication Foundation (WCF)
Learn the advantages of C# 4.0's dynamic language features
Build interactive Windows applications with Windows Presentation Foundation (WPF)
Create rich web applications with Silverlight and ASP.NET
Table of Contents
Chapter 1 Introducing C#
Why C#? Why .NET?
The .NET Framework Class Library
Language Style
C# 4.0, .NET 4, and Visual Studio 2010
Summary
Chapter 2 Basic Programming Techniques
Getting Started
Namespaces and Types
Projects and Solutions
Comments, Regions, and Readability
Variables
Expressions and Statements
Flow Control with Selection Statements
Iteration Statements
Methods
Summary
Chapter 3 Abstracting Ideas with Classes and Structs
Divide and Conquer
Defining Classes
Related Constants with enum
Value Types and Reference Types
Too Many Constructors, Mr. Mozart
Overloading
Object Initializers
Defining Methods
Static Fields and Properties
Summary
Chapter 4 Extensibility and Polymorphism
Association Through Composition and Aggregation
Inheritance and Polymorphism
Replacing Methods in Derived Classes
Inheritance and Protection
Calling Base Class Methods
Thus Far and No Farther: sealed
Requiring Overrides with abstract
All Types Are Derived from Object
C# Does Not Support Multiple Inheritance of Implementation
C# Supports Multiple Inheritance of Interface
Deriving Interfaces from Other Interfaces
The Last Resort: Checking Types at Runtime
Summary
Chapter 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
Summary
Chapter 6 Dealing with Errors
When and How to Fail
Returning Error Values
Exceptions
Summary
Chapter 7 Arrays and Lists
Arrays
List<T>
Collections and Polymorphism
Summary
Chapter 8 LINQ
Query Expressions
LINQ Concepts and Techniques
LINQ Operators
Summary
Chapter 9 Collection Classes
Dictionaries
HashSet and SortedSet
Queues
Linked Lists
Stacks
Summary
Chapter 10 Strings
What Is a String?
The String and Char Types
Literal Strings and Chars
Formatting Data for Output
Culture Sensitivity
Accessing Characters by Index
Strings Are Immutable
Getting a Range of Characters
Composing Strings
Manipulating Text
Finding and Replacing Content
All Sorts of “Empty” Strings
Trimming Whitespace
Checking Character Types
Encoding Characters
Summary
Chapter 11 Files and Streams
Inspecting Directories and Files
Examining Directories
Manipulating File Paths
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
When Files Go Bad: Dealing with Exceptions
Reading Files into Memory
Streams
Reading, Writing, and Locking Files
FileStream Constructors
Asynchronous File Operations
Isolated Storage
Streams That Aren’t Files
Summary
Chapter 12 XML
XML Basics (A Quick Review)
X Stands for eXtensible
Creating XML Documents
Searching in XML with LINQ
XML Serialization
Summary
Chapter 13 Networking
Choosing a Networking Technology
WCF
HTTP
Sockets
Other Networking Features
Summary
Chapter 14 Databases
The .NET Data Access Landscape
The Entity Data Model
Queries
Object Context
WCF Data Services
Summary
Chapter 15 Assemblies
.NET Components: Assemblies
Naming
Loading
Summary
Chapter 16 Threads and Asynchronous Code
Threads
Synchronization Primitives
Asynchronous Programming
The Task Parallel Library
Data Parallelism
Summary
Chapter 17 Attributes and Reflection
Attributes
Reflection
Summary
Chapter 18 Dynamic
Static Versus Dynamic
The dynamic Type
dynamic in Noninterop Scenarios?
Summary
Chapter 19 Interop with COM and Win32
Importing ActiveX Controls
Interop Assemblies
64-bit Versus 32-bit
P/Invoke
Pointers
C# 4.0 Interop Syntax Enhancements
Summary
Chapter 20 WPF and Silverlight
Xaml and Code Behind
Elements and Controls
Control Templates
Data Binding
Summary
Chapter 21 Programming ASP.NET Applications
Web Forms Fundamentals
Creating a Web Application
Data Binding
Summary
Chapter 22 Windows Forms
Creating the Application
Controls
Data Binding
Event Handling
Summary
Total 1,424
Number | Title | Author | Date | Votes | Views |
1424 |
Byte of Python
tanthanh
|
2020.05.28
|
Votes 0
|
Views 11103549
|
tanthanh | 2020.05.28 | 0 | 11103549 |
1423 |
Surviving the Top Ten Challenges of Software Testing: A People-Oriented Approach (2)
^Software^
|
2019.07.22
|
Votes 0
|
Views 11353136
|
^Software^ | 2019.07.22 | 0 | 11353136 |
1422 |
Jmeter Cookbook (1)
VTB
|
2019.06.27
|
Votes 0
|
Views 11866601
|
VTB | 2019.06.27 | 0 | 11866601 |
1421 |
Java Testing : Maven - Reference (315 Pages) (1)
IT-Tester
|
2019.06.26
|
Votes 0
|
Views 11171220
|
IT-Tester | 2019.06.26 | 0 | 11171220 |
1420 |
Java Testing : Maven Example (154 Pages)
IT-Tester
|
2019.06.26
|
Votes 0
|
Views 11216825
|
IT-Tester | 2019.06.26 | 0 | 11216825 |
1419 |
AGILE TESTING - EBOOK (2)
HenryChuks
|
2019.05.31
|
Votes 0
|
Views 10831341
|
HenryChuks | 2019.05.31 | 0 | 10831341 |
1418 |
“Software Testing Career Package – A Software Tester’s Journey from Getting a Job to Becoming a Test Leader!”
aiitistqb
|
2018.10.16
|
Votes 0
|
Views 11180148
|
aiitistqb | 2018.10.16 | 0 | 11180148 |
1417 |
Practical Software Testing – New FREE eBook [Download] (2)
aiitistqb
|
2018.10.16
|
Votes 0
|
Views 10796145
|
aiitistqb | 2018.10.16 | 0 | 10796145 |
1416 |
The Pathologies of Failed Test Automation Projects
aiitistqb
|
2018.10.16
|
Votes 0
|
Views 11005937
|
aiitistqb | 2018.10.16 | 0 | 11005937 |
1415 |
Selenium WebDriver Practical Guide (4)
meo meo con con
|
2018.06.16
|
Votes 0
|
Views 11071031
|
meo meo con con | 2018.06.16 | 0 | 11071031 |
1414 |
Python for Informatics
melassiri
|
2018.06.04
|
Votes 0
|
Views 11453079
|
melassiri | 2018.06.04 | 0 | 11453079 |
1413 |
Hacking - The Art of Exploitation (7)
ravisk
|
2018.03.25
|
Votes 0
|
Views 11181665
|
ravisk | 2018.03.25 | 0 | 11181665 |
1412 |
Instant Penetration Testing Setting Up a Test Lab How-to (1)
ravisk
|
2018.03.24
|
Votes 0
|
Views 10622536
|
ravisk | 2018.03.24 | 0 | 10622536 |
1411 |
Practical-Guide-to-Software-System-Testing (3)
ravisk
|
2018.03.24
|
Votes 1
|
Views 11088612
|
ravisk | 2018.03.24 | 1 | 11088612 |
1410 |
EFFORT estimation software (1)
ravisk
|
2018.03.24
|
Votes 0
|
Views 11204751
|
ravisk | 2018.03.24 | 0 | 11204751 |
1409 |
Lee Copeland. A Practitioner's Guide to Software Test Design (19)
Unbroken
|
2017.12.15
|
Votes 0
|
Views 11427799
|
Unbroken | 2017.12.15 | 0 | 11427799 |
1408 |
http response codes (3)
SV369
|
2017.12.14
|
Votes 0
|
Views 11561266
|
SV369 | 2017.12.14 | 0 | 11561266 |
1407 |
«Hacking Mobile Exposed, Security secrets and solutions» (5)
Unbroken
|
2017.12.08
|
Votes 0
|
Views 11319118
|
Unbroken | 2017.12.08 | 0 | 11319118 |
1406 |
James A. Whittaker «Exploratory software testing» (8)
Unbroken
|
2017.12.08
|
Votes 1
|
Views 11542336
|
Unbroken | 2017.12.08 | 1 | 11542336 |
1405 |
FOUNDATIONS OF SOFTWARE TESTING (6)
marklouis
|
2017.12.05
|
Votes 0
|
Views 11252315
|
marklouis | 2017.12.05 | 0 | 11252315 |
1404 |
Python for informatics (2)
TesterQA
|
2017.12.01
|
Votes 0
|
Views 11451127
|
TesterQA | 2017.12.01 | 0 | 11451127 |
1403 |
Selenium Testing Tool Cookbook (11)
liliam001
|
2017.11.14
|
Votes 0
|
Views 11099915
|
liliam001 | 2017.11.14 | 0 | 11099915 |
1402 |
What is SQL Injection? (4)
ArifBaba
|
2017.10.28
|
Votes 0
|
Views 10867978
|
ArifBaba | 2017.10.28 | 0 | 10867978 |
1401 |
Oracle Middleware Tuning (4)
gpratikg
|
2017.10.08
|
Votes 0
|
Views 11270592
|
gpratikg | 2017.10.08 | 0 | 11270592 |
1400 |
Microsoft SQL Server 2012 (3)
yoshiharra
|
2017.10.08
|
Votes 0
|
Views 11414212
|
yoshiharra | 2017.10.08 | 0 | 11414212 |
1399 |
visual studio c sharp
vikasrao
|
2017.09.24
|
Votes 0
|
Views 11438871
|
vikasrao | 2017.09.24 | 0 | 11438871 |
1398 |
How to Break Web Software: Functional and Security Testing of Web Applications and Web Services (7)
vikasrao
|
2017.09.24
|
Votes 0
|
Views 11060113
|
vikasrao | 2017.09.24 | 0 | 11060113 |
1397 |
The Art of Unit Testing with Examples in .NET
vikasrao
|
2017.09.24
|
Votes 0
|
Views 11068097
|
vikasrao | 2017.09.24 | 0 | 11068097 |
1396 |
Scrum (2)
dhoanglong91
|
2017.09.23
|
Votes 1
|
Views 11321579
|
dhoanglong91 | 2017.09.23 | 1 | 11321579 |
1395 |
Python for Unix and Linux System Administration
Crismachado
|
2017.09.22
|
Votes 0
|
Views 11373440
|
Crismachado | 2017.09.22 | 0 | 11373440 |
1394 |
Ruby Best Practices (3)
Crismachado
|
2017.09.22
|
Votes 0
|
Views 10758328
|
Crismachado | 2017.09.22 | 0 | 10758328 |
1393 |
Python in Practice (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 11388968
|
ManhAnh | 2017.09.05 | 0 | 11388968 |
1392 |
Practical Object-Oriented Design in Ruby (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 11413878
|
ManhAnh | 2017.09.05 | 0 | 11413878 |
1391 |
Practical Cassandra (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 11313132
|
ManhAnh | 2017.09.05 | 0 | 11313132 |
1390 |
Development with the Force.com Platform, 3rd Edition (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 11836351
|
ManhAnh | 2017.09.05 | 0 | 11836351 |
1389 |
Apache Cordova 3 Programming (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 11155817
|
ManhAnh | 2017.09.05 | 0 | 11155817 |
1388 |
Software Testing - Ron Patton (4)
bugdetective
|
2017.09.04
|
Votes 0
|
Views 11714850
|
bugdetective | 2017.09.04 | 0 | 11714850 |
1387 |
The Art of Software Testing, 2rd Edition (1)
bugdetective
|
2017.09.04
|
Votes 0
|
Views 11046007
|
bugdetective | 2017.09.04 | 0 | 11046007 |
1386 |
Explore It!
bugdetective
|
2017.09.04
|
Votes 1
|
Views 11290942
|
bugdetective | 2017.09.04 | 1 | 11290942 |
1385 |
NoSQl (1)
getmedude
|
2017.08.27
|
Votes 0
|
Views 11119557
|
getmedude | 2017.08.27 | 0 | 11119557 |
1384 |
Art of testing (10)
dktzm89
|
2017.08.16
|
Votes 0
|
Views 11480472
|
dktzm89 | 2017.08.16 | 0 | 11480472 |
1383 |
Perl Book (1)
Ravish24
|
2017.08.15
|
Votes 0
|
Views 11534085
|
Ravish24 | 2017.08.15 | 0 | 11534085 |
1382 |
Automation Testing (5)
Ravish24
|
2017.08.15
|
Votes 1
|
Views 11709832
|
Ravish24 | 2017.08.15 | 1 | 11709832 |
1381 |
Prince2 model chart
AllGreen
|
2017.08.09
|
Votes 0
|
Views 11600131
|
AllGreen | 2017.08.09 | 0 | 11600131 |
1380 |
Prince2 for Dummies
AllGreen
|
2017.08.09
|
Votes 0
|
Views 11708043
|
AllGreen | 2017.08.09 | 0 | 11708043 |
1379 |
Unix and Linux testing (2)
pavan765
|
2017.08.01
|
Votes 0
|
Views 11319009
|
pavan765 | 2017.08.01 | 0 | 11319009 |
1378 |
Practical Software Testing (6)
Administrator
|
2017.07.24
|
Votes 0
|
Views 11197816
|
Administrator | 2017.07.24 | 0 | 11197816 |
1377 |
Selenium Notes (1)
masterofall
|
2017.07.24
|
Votes 0
|
Views 11175491
|
masterofall | 2017.07.24 | 0 | 11175491 |
1376 |
Practical Software Testing
masterofall
|
2017.07.24
|
Votes 0
|
Views 11270869
|
masterofall | 2017.07.24 | 0 | 11270869 |
1375 |
Lead Generation for Dummies (2)
uday bhaskar
|
2017.07.20
|
Votes 0
|
Views 11199147
|
uday bhaskar | 2017.07.20 | 0 | 11199147 |
Thanks for sharing!