Karli Watson & Christian Nagel 
Beginning Visual C# 2010 [EPUB ebook] 

Support

Update to Wrox’s leading C# book for beginners

Get ready for the next release of Microsoft’s C# programming language with this essential Wrox beginner’s guide. Beginning Microsoft Visual C# 2010 starts with the basics and brings you thoroughly up to speed. You’ll first cover the fundamentals such as variables, flow control, and object-oriented programming and gradually build your skills for Web and Windows programming, Windows forms, and data access.

Step-by-step directions walk you through processes and invite you to ‘Try it Out, ‘ at every stage. By the end, you’ll be able to write useful programming code following the steps you’ve learned in this thorough, practical book.


  • The C# 4 programming language version will be synonymous with writing code with in C# 2010 in Visual Studio 2010, and you can use it to write Windows applications, Web apps with ASP.NET, and Windows Mobile and Embedded CE apps

  • Provides step-by-step instructions for mastering topics such as variables, flow controls, and object-oriented programming before moving to Web and Windows programming and data access

  • Addresses expressions, functions, debugging, error handling, classes, collections, comparisons, conversions, and more


If you’ve always wanted to master Visual C# programming, this book is the perfect one-stop resource.

Note: CD-ROM/DVD and other supplementary materials are not included as part of e Book file.

€28.99
payment methods

Table of Content

Introduction xxxiii

Part I: The C# Language

Chapter 1: Introducing C# 3

What is the .NET Framework? 3

What’s in the .NET Framework? 4

Writing Applications Using the .NET Framework 5

CIL and JIT 5

Assemblies 5

Managed Code 6

Garbage Collection 6

Fitting It Together 7

Linking 8

What is C#? 8

Applications You Can Write with C# 9

C# in This Book 10

Visual Studio 2010 10

Visual Studio 2010 Express Products 11

Solutions 11

Summary 11

Chapter 2: Writing A C# Program 13

The Development Environments 14

Visual Studio 2010 14

Visual C# 2010 Express Edition 17

Console Applications 18

The Solution Explorer 22

The Properties Window 23

The Error List Window 23

Windows Forms Applications 24

Summary 28

Chapter 3: Variables and Expressions 31

Basic C# Syntax 32

Basic C# Console Application Structure 34

Variables 35

Simple Types 36

Variable Naming 40

Naming Conventions 41

Literal Values 42

String Literals 43

Variable Declaration and Assignment 44

Expressions 45

Mathematical Operators 45

Assignment Operators 50

Operator Precedence 51

Namespaces 51

Summary 55

Chapter 4: Flow Control 59

Boolean Logic 59

Boolean Assignment Operators 62

Bitwise Operators 64

Operator Precedence Updated 68

The goto Statement 68

Branching 69

The Ternary Operator 70

The if Statement 70

Checking More Conditions Using if Statements 73

The switch Statement 74

Looping 77

do Loops 78

while Loops 80

for Loops 83

Interrupting Loops 87

Infinite Loops 88

Summary 89

Chapter 5: More About Variables 93

Type Conversion 94

Implicit Conversions 94

Explicit Conversions 96

Explicit Conversions Using the Convert Commands 99

Complex Variable Types 102

Enumerations 102

Defining Enumerations 103

Structs 107

Defining Structs 107

Arrays 110

Declaring Arrays 110

foreach Loops 113

Multidimensional Arrays 113

Arrays of Arrays 115

String Manipulation 116

Summary 121

Chapter 6: Functions 125

Defining and Using Functions 126

Return Values 128

Parameters 130

Parameter Matching 132

Parameter Arrays 132

Reference and Value Parameters 134

Out Parameters 136

Variable Scope 137

Variable Scope in Other Structures 140

Parameters and Return Values versus Global Data 142

The Main() Function 143

Struct Functions 146

Overloading Functions 147

Delegates 149

Summary 152

Chapter 7: Debugging and Error Handling 155

Debugging in VS and VCE 156

Debugging in Nonbreak (Normal) Mode 157

Outputting Debugging Information 158

Tracepoints 163

Diagnostics Output Versus Tracepoints 164

Debugging in Break Mode 166

Entering Break Mode 166

Monitoring Variable Content 170

Stepping Through Code 172

Immediate and Command Windows 173

The Call Stack Window 174

Error Handling 175

try . . . catch . . . finally 176

Listing and Configuring Exceptions 181

Notes on Exception Handling 182

Summary 183

Chapter 8: Introduction To Object-Oriented Programming 185

What Is Object-Oriented Programming? 186

What Is an Object? 187

Properties and Fields 188

Methods 189

Everything’s an Object 189

The Life Cycle of an Object 190

Constructors 190

Destructors 191

Static and Instance Class Members 191

Static Constructors 191

Static Classes 192

OOP Techniques 192

Interfaces 193

Disposable Objects 194

Inheritance 194

Polymorphism 196

Interface Polymorphism 197

Relationships Between Objects 198

Containment 198

Collections 199

Operator Overloading 200

Events 200

Reference Types Versus Value Types 201

OOP in Windows Applications 201

Summary 204

Chapter 9: Defining Classes 209

Class Definitions in C# 209

Interface Definitions 212

System.Object 215

Constructors and Destructors 217

Constructor Execution Sequence 218

OOP Tools in VS and VCE 222

The Class View Window 222

The Object Browser 224

Adding Classes 226

Class Diagrams 227

Class Library Projects 229

Interfaces Versus Abstract Classes 232

Struct Types 235

Shallow Copying Versus Deep Copying 237

Summary 237

Chapter 10: Defining Class Members 241

Member Definitions 241

Defining Fields 242

Defining Methods 242

Defining Properties 244

Adding Members from a Class Diagram 249

Adding Methods 250

Adding Properties 251

Adding Fields 252

Refactoring Members 252

Automatic Properties 253

Additional Class Member Topics 253

Hiding Base Class Methods 254

Calling Overridden or Hidden Base Class Methods 255

The this Keyword 256

Nested Type Definitions 257

Interface Implementation 257

Implementing Interfaces in Classes 258

Explicit Interface Member Implementation 260

Adding Property Accessors with Nonpublic Accessibility 260

Partial Class Definitions 261

Partial Method Definitions 262

Example Application 264

Planning the Application 264

The Card Class 264

The Deck Class 265

Writing the Class Library 265

Adding the Suit and Rank Enumerations 266

Adding the Card Class 268

Adding the Deck Class 269

A Client Application for the Class Library 272

The Call Hierarchy Window 274

Summary 275

Chapter 11: Collections, Comparisons, and Conversions 277

Collections 278

Using Collections 278

Defining Collections 284

Indexers 286

Adding a Cards Collection to Card Lib 288

Keyed Collections and IDictionary 291

Iterators 293

Iterators and Collections 297

Deep Copying 299

Adding Deep Copying to Card Lib 301

Comparisons 303

Type Comparisons 303

Boxing and Unboxing 303

The is Operator 305

Value Comparisons 308

Operator Overloading 308

Adding Operator Overloads to Card Lib 313

The IComparable and IComparer Interfaces 318

Sorting Collections Using the IComparable and IComparer Interfaces 320

Conversions 324

Overloading Conversion Operators 324

The as Operator 326

Summary 327

Chapter 12: Generics 331

What Are Generics? 332

Using Generics 333

Nullable Types 333

Operators and Nullable Types 334

The ?? Operator 336

The System.Collections.Generics Namespace 340

List < T > 341

Sorting and Searching Generic Lists 343

Dictionary < K, V > 349

Modifying Card Lib to Use a Generic Collection Class 350

Defining Generic Types 351

Defining Generic Classes 351

The default Keyword 354

Constraining Types 354

Inheriting from Generic Classes 361

Generic Operators 362

Generic Structs 363

Defining Generic Interfaces 364

Defining Generic Methods 364

Defining Generic Delegates 366

Variance 366

Covariance 367

Contravariance 368

Summary 369

Chapter 13: Additional OOP Techniques 373

The :: Operator and the Global Namespace Qualifier 373

Custom Exceptions 375

Adding Custom Exceptions to Card Lib 375

Events 377

What Is an Event? 377

Handling Events 378

Defining Events 380

Multipurpose Event Handlers 385

The Event Handler and Generic Event Handler < T > Types 388

Return Values and Event Handlers 388

Anonymous Methods 389

Expanding and Using Card Lib 389

A Card Game Client for Card Lib 390

Summary 398

Chapter 14: C# Language Enhancements 401

Initializers 402

Object Initializers 402

Collection Initializers 404

Type Inference 407

Anonymous Types 409

Dynamic Lookup 413

The dynamic Type 414

IDynamic Meta Object Provider 417

Advanced Method Parameters 418

Optional Parameters 418

Optional Parameter Values 419

Optional Parameter Order 420

Named Parameters 420

Named and Optional Parameter Guidelines 424

Extension Methods 424

Lambda Expressions 429

Anonymous Methods Recap 429

Lambda Expressions for Anonymous Methods 430

Lambda Expression Parameters 434

Lambda Expression Statement Bodies 434

Lambda Expressions As Delegates and Expression Trees 435

Lambda Expressions and Collections 436

Summary 439

Part II: Windows Programming

Chapter 15: Basic Windows Programming 447

Controls 448

Properties 448

Anchoring, Docking, and Snapping Controls 449

Anchor and Dock Properties 450

Events 451

The Button Control 453

Button Properties 453

Button Events 453

Adding the Event Handlers 455

The Label and Link Label Controls 456

The Text Box Control 457

Text Box Properties 457

Text Box Events 458

Adding the Event Handlers 460

The Radio Button and Check Box Controls 464

Radio Button Properties 465

Radio Button Events 465

Check Box Properties 466

Check Box Events 466

The Group Box Control 466

The Rich Text Box Control 470

Rich Text Box Properties 470

Rich Text Box Events 472

The List Box and Checked List Box Controls 477

List Box Properties 477

List Box Methods 478

List Box Events 478

The List View Control 481

List View Properties 481

List View Methods 481

List View Events 481

List View Item 484

Column Header 484

The Image List Control 484

The Tab Control Control 491

Tab Control Properties 491

Working with the Tab Control 492

Summary 494

Chapter 16: Advanced Windows Forms Features 497

Menus and Toolbars 498

Two Is One 498

Using the Menu Strip Control 498

Creating Menus Manually 499

Properties of the Tool Strip Menu Item 501

Adding Functionality to Menus 501

Toolbars 503

Tool Strip Properties 504

Tool Strip Items 504

Adding Event Handlers 507

Status Strip 509

Status Strip Status Label Properties 510

SDI and MDI Applications 512

Building MDI Applications 513

Creating Controls 522

Adding Properties 524

Adding the Event Handlers 525

Debugging User Controls 527

Extending the Label Textbox Control 527

Adding More Properties 528

Adding More Event Handlers 529

Adding a Custom Event Handler 529

Summary 530

Chapter 17: Deploying Windows Applications 533

Deployment Overview 533

Click Once Deployment 534

Creating the Click Once Deployment 534

Installing the Application with Click Once 543

Creating and Using Updates of the Application 545

Visual Studio Setup and Deployment Project Types 546

Microsoft Windows Installer Architecture 547

Windows Installer Terms 548

Advantages of the Windows Installer 549

Creating an Installation Package for the MDI Editor 550

Planning the Installation 550

Creating the Project 552

Project Properties 553

Packaging 553

Prerequisites 554

Setup Editors 556

File System Editor 556

Adding Items to Special Folders 557

File Properties 557

File Types Editor 559

Create Actions 560

Launch Condition Editor 561

User Interface Editor 561

Additional Dialogs 563

Building the Project 565

Installation 566

Welcome 566

Read Me 566

License Agreement 567

Optional Files 568

Select Installation Folder 568

Disk Cost 568

Confirm Installation 569

Progress 570

Installation Complete 571

Running the Application 571

Uninstall 571

Summary 571

Part III: Web Programming

Chapter 18: ASP.NET Web Programming 577

Overview of Web Applications 578

ASP.NET Runtime 578

Creating a Simple Page 578

Server Controls 587

ASP.NET Postback 588

ASP.NET AJAX Postback 593

Input Validation 597

State Management 600

Client-Side State Management 601

View State 601

Cookies 602

Server-Side State Management 603

Session 603

Application 605

Cache 605

Styles 606

Master Pages 611

Site Navigation 616

Authentication and Authorization 619

Authentication Configuration 619

Using Security Controls 623

Reading from and Writing to a SQL Server Database 626

Summary 634

Chapter 19: Web Services 637

Where to Use Web Services 637

A Hotel Travel Agency Application Scenario 638

A Book Distributor Application Scenario 638

Client Application Types 639

Application Architecture 639

Web Services Architecture 640

Calling Methods and the Web Services Description Language 640

Calling a Method 641

WS-I Basic Profile 642

Web Services and the .NET Framework 642

Creating a Web Service 643

Web Service Attribute 643

Web Method Attribute 643

Web Service Binding Attribute 644

Client 645

Soap Http Client Protocol 645

Alternative Client Protocols 645

Creating a Simple ASP.NET Web Service 645

Adding a Web Method 648

Testing the Web Service 649

Implementing a Windows Client 649

Calling the Service Asynchronously 655

Implementing an ASP.NET Client 658

Passing Data 659

Summary 662

Chapter 20: Deploying Web Applications 665

Internet Information Services 665

IIS Configuration 666

Copying a Website 669

Publishing a Web Application 672

Windows Installer 675

Creating a Setup Program 675

Installing the Web Application 677

Summary 678

Part IV: Data Access

Chapter 21: File System Data 683

Streams 683

The Classes for Input and Output 684

The File and Directory Classes 686

The File Info Class 687

The Directory Info Class 689

Path Names and Relative Paths 690

The File Stream Object 690

File Position 691

Reading Data 692

Writing Data 695

The Stream Writer Object 697

The Stream Reader Object 699

Reading Data 701

Delimited Files 702

Reading and Writing Compressed Files 706

Serialized Objects 710

Monitoring the File System 715

Summary 722

Chapter 22: XML 725

XML Documents 726

XML Elements 726

Attributes 727

The XML Declaration 728

Structure of an XML Document 728

XML Namespaces 729

Well-Formed and Valid XML 730

Validating XML Documents 730

DTDs 730

Schemas 731

Using XML in Your Application 734

XML Document Object Model 734

Xml Document Class 735

Xml Element Class 735

Changing the Values of Nodes 739

Selecting Nodes 744

XPath 745

Summary 749

Chapter 23: Introduction To LINQ 753

First LINQ Query 754

Declaring a Variable for Results Using the var Keyword 756

Specify Data Source: from Clause 756

Specify Condition: where Clause 757

Select Items: select Clause 757

Finishing Up: Using the foreach Loop 757

Deferred Query Execution 757

Using the LINQ Method Syntax 758

LINQ Extension Methods 758

Query Syntax versus Method Syntax 758

Ordering Query Results 760

orderby Clause 761

Ordering Using Method Syntax 762

Querying a Large Data Set 764

Aggregate Operators 766

Querying Complex Objects 770

Projection: Creating New Objects in Queries 774

Projection: Method Syntax 776

Select Distinct Query 776

Any and All 777

Ordering by Multiple Levels 779

Multi-Level Ordering Method Syntax: Then By 781

Group Queries 781

Take and Skip 783

First and First Or Default 785

Set Operators 787

Joins 790

Summary 791

Chapter 24: Applying LINQ 795

LINQ Varieties 795

Using LINQ with Databases 796

Installing SQL Server and the Northwind Sample Data 797

Installing SQL Server Express 2008 797

Installing the Northwind Sample Database 797

First LINQ to Database Query 798

Navigating Database Relationships 801

Using LINQ with XML 804

LINQ to XML Functional Constructors 804

Constructing XML Element Text with Strings 808

Saving and Loading an XML Document 808

Loading XML from a String 811

Contents of a Saved XML Document 811

Working with XML Fragments 812

Generating XML from Databases 814

How to Query an XML Document 817

Using LINQ to XML Query Members 818

Elements() 818

Descendants() 819

Attributes() 821

Summary 823

Part V: Additional Techniques

Chapter 25: Windows Presentation Foundation 829

What Is WPF? 830

WPF for Designers 830

WPF for C# Developers 833

Anatomy of a Basic WPF Application 834

WPF Fundamentals 845

XAML Syntax 845

Object Element Syntax 845

Attribute Syntax 846

Property Element Syntax 846

Content Syntax 847

Mixing Property Element Syntax and Content Syntax 847

Markup Extensions 848

Desktop and Web Applications 848

The Application Object 849

Control Basics 849

Dependency Properties 850

Attached Properties 852

Routed Events 852

Attached Events 858

Control Layout 858

Stack Order 859

Alignment, Margins, Padding, and Dimensions 859

Border 860

Canvas 860

Dock Panel 861

Grid 863

Stack Panel 866

Wrap Panel 868

Control Styling 868

Styles 869

Templates 869

Triggers 874

Animation 875

Timelines without Key Frames 876

Timelines with Key Frames 877

Static and Dynamic Resources 878

Static Resources 878

Dynamic Resources 878

Referencing Style Resources 879

Programming with WPF 884

WPF User Controls 884

Implementing Dependency Properties 884

Summary 895

Chapter 26: Windows Communication Foundation 899

What Is WCF? 900

WCF Concepts 901

WCF Communication Protocols 901

Addresses, Endpoints, and Bindings 902

Contracts 904

Message Patterns 905

Behaviors 905

Hosting 906

WCF Programming 906

The WCF Test Client 914

Defining WCF Service Contracts 917

Data Contracts 918

Service Contracts 918

Operation Contracts 919

Message Contracts 920

Fault Contracts 920

Self-Hosted WCF Services 925

Summary 933

Chapter 27: Windows Workflow Foundation 935

Hello World 936

Workflows and Activities 937

If Activity 938

While Activity 938

Sequence Activity 938

Arguments and Variables 939

Custom Activities 944

Workflow Extensions 946

Activity Validation 952

Activity Designers 953

Summary 955

Appendix A: Exercise Solutions 957

Index 1009

About the author

Karli Watson is an author and a consultant for Infusion.
Christian Nagel is an author, Microsoft Regional Director, and software architect with more than 20 years of experience.
Jacob Hammer Pedersen is an author and senior application developer at Elbek & Vejrup, Denmark.
Jon D. Reid is Software Engineering Manager at Metrix LLC.
Morgan Skinner is a consultant for Microsoft UK.
Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.

Buy this ebook and get 1 more FREE!
Language English ● Format EPUB ● ISBN 9781118057193 ● File size 23.1 MB ● Publisher John Wiley & Sons ● Country US ● Published 2011 ● Edition 1 ● Downloadable 24 months ● Currency EUR ● ID 2352244 ● Copy protection without

More ebooks from the same author(s) / Editor

2,799 Ebooks in this category