C# 4.0 How-To
Home > Computing and Information Technology > Computer programming / software engineering > Programming and scripting languages: general > C# 4.0 How-To
C# 4.0 How-To

C# 4.0 How-To


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

Real Solutions for C# 4.0 Programmers   Need fast, robust, efficient code solutions for Microsoft C# 4.0? This book delivers exactly what you’re looking for. You’ll find more than 200 solutions, best-practice techniques, and tested code samples for everything from classes to exceptions, networking to XML, LINQ to Silverlight. Completely up-to-date, this book fully reflects major language enhancements introduced with the new C# 4.0 and .NET 4.0. When time is of the essence, turn here first: Get answers you can trust and code you can use, right now!   Beginning with the language essentials and moving on to solving common problems using the .NET Framework, C# 4.0 How-To addresses a wide range of general programming problems and algorithms. Along the way is clear, concise coverage of a broad spectrum of C# techniques that will help developers of all levels become more proficient with C# and the most popular .NET tools.   Fast, Reliable, and Easy to Use! Write more elegant, efficient, and reusable code Take advantage of real-world tips and best-practices advice Create more effective classes, interfaces, and types Master powerful data handling techniques using collections, serialization, databases, and XML Implement more effective user interfaces with both WPF and WinForms Construct Web-based and media-rich applications with ASP.NET and Silverlight Make the most of delegates, events, and anonymous methods Leverage advanced C# features ranging from reflection to asynchronous programming Harness the power of regular expressions Interact effectively with Windows and underlying hardware Master the best reusable patterns for designing complex programs

Table of Contents:
Introduction     1 Overview of C# 4.0 How-To     1 How-To Benefit from This Book     1 How-To Continue Expanding Your Knowledge     3   PART I: C# FUNDAMENTALS   Chapter 1   Type Fundamentals     7 Create a Class     8 Define Fields, Properties, and Methods     9 Define Static Members     10 Add a Constructor      11 Initialize Properties at Construction     12 Use const and readonly     13 Reuse Code in Multiple Constructors     14 Derive from a Class    14 Call a Base Class Constructor     15 Override a Base Class’s Method or Property     16 Create an Interface     19 Implement Interfaces     19 Create a Struct     21 Create an Anonymous Type     22 Prevent Instantiation with an Abstract Base Class     23 Interface or Abstract Base Class?     24   Chapter 2   Creating Versatile Types     27 Format a Type with ToString()     28 Make Types Equatable.    32 Make Types Hashable with GetHashCode()     34 Make Types Sortable     34 Give Types an Index     36 Notify Clients when Changes Happen     38 Overload Appropriate Operators     39 Convert One Type to Another     40 Prevent Inheritance      41 Allow Value Type to Be Null     42   Chapter 3   General Coding     45 Declare Variables     46 Defer Type Checking to Runtime (Dynamic Types)     47 Use Dynamic Typing to Simplify COM Interop     49 Declare Arrays     50 Create Multidimensional Arrays     50 Alias a Namespace     51 Use the Conditional Operator (?:)     52 Use the Null-Coalescing Operator (??)     53 Add Methods to Existing Types with Extension Methods     54 Call Methods with Default Parameters     55 Call Methods with Named Parameters     56 Defer Evaluation of a Value Until Referenced     57 Enforce Code Contracts     58   Chapter 4   Exceptions     63 Throw an Exception     64 Catch an Exception     64 Catch Multiple Exceptions     65 Rethrow an Exception     66 (Almost) Guarantee Execution with finally     67 Get Useful Information from an Exception     68 Create Your Own Exception Class     70 Catch Unhandled Exceptions     72 Usage Guidelines     76   Chapter 5   Numbers     77 Decide Between Float, Double, and Decimal     78 Use Enormous Integers (BigInteger)     79 Use Complex Numbers     80 Format Numbers in a String     82 Convert a String to a Number     86 Convert Between Number Bases     87 Convert a Number to Bytes (and Vice Versa)     89 Determine if an Integer Is Even     91 Determine if an Integer Is a Power of 2 (aka, A Single Bit Is Set)      91 Determine if a Number Is Prime     91 Count the Number of 1 Bits     92 Convert Degrees and Radians     93 Round Numbers     93 Generate Better Random Numbers     96 Generate Unique IDs (GUIDs)     97   Chapter 6   Enumerations     99 Declare an Enumeration     100 Declare Flags as an Enumeration     101 Determine if a Flag Is Set     102 Convert an Enumeration to an Integer (and Vice Versa)     102 Determine if an Enumeration Is Valid     103 List Enumeration Values     103 Convert a String to an Enumeration     103 Attach Metadata to Enums with Extension Methods     104 Enumeration Tips     106   Chapter 7   Strings     109 Convert a String to Bytes (and Vice Versa)     110 Create a Custom Encoding Scheme     111 Compare Strings Correctly     115 Change Case Correctly     116 Detect Empty Strings     117 Concatenate Strings: Should You Use StringBuilder?     117 Concatenate Collection Items into a String     119 Append a Newline Character    120 Split a String     121 Convert Binary Data to a String (Base-64 Encoding)     122 Reverse Words     124 Sort Number Strings Naturally     125   Chapter 8   Regular Expressions     131 Search Text     132 Extract Groups of Text     132 Replace Text     133 Match and Validate     134 Help Regular Expressions Perform Better     137   Chapter 9   Generics     139 Create a Generic List     140 Create a Generic Method      141 Create a Generic Interface     142 Create a Generic Class      143 Create a Generic Delegate     145 Use Multiple Generic Types.     146 Constrain the Generic Type     146 Convert IEnumerable to IEnumerableConvert IComparer to IComparer (Contravariance)     150 Create Tuples (Pairs and More)     151   PART II: HANDLING DATA   Chapter 10  Collections     155 Pick the Correct Collection Class     156 Initialize a Collection     157 Iterate over a Collection Independently of Its Implementation     158 Create a Custom Collection     159 Create Custom Iterators for a Collection     163 Reverse an Array     166 Reverse a Linked List     167 Get the Unique Elements from a Collection     168 Count the Number of Times an Item Appears     168 Implement a Priority Queue     169 Create a Trie (Prefix Tree)     173   Chapter 11  Files and Serialization     177 Create, Read, and Write Files     178 Delete a File     180 Combine Streams (Compress a File)     181 Get a File Size     183 Get File Security Description     183 Check for File and Directory Existence     185 Enumerate Drives     185 Enumerate Directories and Files     186 Browse for Directories     187 Search for a File or Directory     188 Manipulate File Paths     190 Create Unique or Temporary Filenames     192 Watch for File System Changes     192 Get the Paths to My Documents, My Pictures, Etc.     194 Serialize Objects     194 Serialize to an In-Memory Stream     198 Store Data when Your App Has Restricted Permissions     198   Chapter 12  Networking and the Web     201 Resolve a Hostname to an IP Address     202 Get This Machine’s Hostname and IP Address     202 Ping a Machine     203 Get Network Card Information     204 Create a TCP/IP Client and Server     204 Send an Email via SMTP     208 Download Web Content via HTTP     209 Upload a File with FTP     213 Strip HTML of Tags     214 Embed a Web Browser in Your Application     214 Consume an RSS Feed     216 Produce an RSS Feed Dynamically in IIS     220 Communicate Between Processes on the Same Machine (WCF)     222 Communicate Between Two Machines on the Same Network (WCF)     229 Communicate over the Internet (WCF)     231 Discover Services During Runtime (WCF)     233   Chapter 13  Databases     237 Create a New Database from Visual Studio     238 Connect and Retrieve Data     240 Insert Data into a Database Table     245 Delete Data from a Table     246 Run a Stored Procedure     247 Use Transactions     248 Bind Data to a Control Using a DataSet     250 Detect if Database Connection Is Available     258 Automatically Map Data to Objects with the Entity Framework     259   Chapter 14  XML     261 Serialize an Object to and from XML     262 Write XML from Scratch     266 Read an XML File     268 Validate an XML Document     270 Query XML Using XPath     271 Transform Database Data to XML     273 Transform XML to HTML     274   PART III: USER INTERACTION   Chapter 15  Delegates, Events, and Anonymous Methods     279 Decide Which Method to Call at Runtime      280 Subscribe to an Event     282 Publish an Event     283 Ensure UI Updates Occur on UI Thread     285 Assign an Anonymous Method to a Delegate     288 Use Anonymous Methods as Quick-and-Easy Event Handlers     288 Take Advantage of Contravariance     291   Chapter 16  Windows Forms     295 Create Modal and Modeless Forms     296 Add a Menu Bar     297 Disable Menu Items Dynamically     300 Add a Status Bar     300 Add a Toolbar     301 Create a Split Window Interface     302 Inherit a Form     304 Create a User Control     308 Use a Timer     313 Use Application and User Configuration Values     314 Use ListView Efficiently in Virtual Mode     317 Take Advantage of Horizontal Wheel Tilt     319 Cut and Paste     323 Automatically Ensure You Reset the Wait Cursor     327   Chapter 17  Graphics with Windows Forms and GDI+     329 Understand Colors     330 Use the System Color Picker     330 Convert Colors Between RGB to HSV     331 Draw Shapes     335 Create Pens.     337 Create Custom Brushes     339 Use Transformations     341 Draw Text     344 Draw Text Diagonally     344 Draw Images     344 Draw Transparent Images     345 Draw to an Off-Screen Buffer     346 Access a Bitmap’s Pixels Directly for Performance     347 Draw with Anti-Aliasing     348 Draw Flicker-Free     349 Resize an Image     350 Create a Thumbnail of an Image     351 Take a Multiscreen Capture     352 Get the Distance from the Mouse Cursor to a Point     354 Determine if a Point Is Inside a Rectangle     355 Determine if a Point Is Inside a Circle     355 Determine if a Point Is Inside an Ellipse     356 Determine if Two Rectangles Intersect.     357 Print and Print Preview     358   Chapter 18  WPF     365 Show a Window     366 Choose a Layout Method     367 Add a Menu Bar     367 Add a Status Bar     369 Add a Toolbar     369 Use Standard Commands     370 Use Custom Commands     371 Enable and Disable Commands     374 Expand and Collapse a Group of Controls     375 Respond to Events     376 Separate Look from Functionality     377 Use Triggers to Change Styles at Runtime     378 Bind Control Properties to Another Object     379 Format Values During Data Binding     383 Convert Values to a Different Type During Data Binding     383 Bind to a Collection     385 Specify How Bound Data Is Displayed     385 Define the Look of Controls with Templates     386 Animate Element Properties     388 Render 3D Geometry     389 Put Video on a 3D Surface     392 Put Interactive Controls onto a 3D Surface     395 Use WPF in a WinForms App     398 Use WinForms in a WPF Application     400   Chapter 19  ASP.NET     401 View Debug and Trace Information     402 Determine Web Browser Capabilities    404 Redirect to Another Page     405 Use Forms Authentication for User Login     406 Use Master Pages for a Consistent Look     409 Add a Menu     411 Bind Data to a GridView     412 Create a User Control     414 Create a Flexible UI with Web Parts     418 Create a Simple AJAX Page     423 Do Data Validation     425 Maintain Application State     429 Maintain UI State     430 Maintain User Data in a Session     431 Store Session State     433 Use Cookies to Restore Session State     434 Use ASP.NET Model-View-Controller (MVC)     436   Chapter 20  Silverlight     443 Create a Silverlight Project     444 Play a Video     445 Build a Download and Playback Progress Bar     449 Response to Timer Events on the UI Thread      451 Put Content into a 3D Perspective     452 Make Your Application Run out of the Browser      453 Capture a Webcam     455 Print a Document     457   PART IV: ADVANCED C#   Chapter 21  LINQ     461 Query an Object Collection     462 Order the Results     463 Filter a Collection     464 Get a Collection of a Portion of Objects (Projection)     465 Perform a Join     465 Query XML     466 Create XML     467 Query the Entity Framework     467 Query a Web Service (LINQ to Bing)     469 Speed Up Queries with PLINQ (Parallel LINQ)     472   Chapter 22  Memory Management     473 Measure Memory Usage of Your Application     474 Clean Up Unmanaged Resources Using Finalization     475 Clean Up Managed Resources Using the Dispose Pattern     477 Force a Garbage Collection     482 Create a Cache That Still Allows Garbage Collection     482 Use Pointers     485 Speed Up Array Access     486 Prevent Memory from Being Moved     487 Allocate Unmanaged Memory     488   Chapter 23  Threads, Asynchronous, and Parallel Programming     491 Easily Split Work Among Processors     492 Use Data Structures in Multiple Threads     495 Call a Method Asynchronously     496 Use the Thread Pool     497 Create a Thread     498 Exchange Data with a Thread     499 Protect Data Used in Multiple Threads     500 Use Interlocked Methods Instead of Locks     503 Protect Data in Multiple Processes     504 Limit Applications to a Single Instance     505 Limit the Number of Threads That Can Access a Resource     506 Signal Threads with Events     509 Use a Multithreaded Timer     512 Use a Reader-Writer Lock     513 Use the Asynchronous Programming Model     515   Chapter 24  Reflection and Creating Plugins     519 Enumerate Types in an Assembly     520 Add a Custom Attribute     521 Instantiate a Class Dynamically     523 Invoke a Method on a Dynamically Instantiated Class     523 Implement a Plugin Architecture     525   Chapter 25  Application Patterns and Tips    529 Use a Stopwatch to Profile Your Code     530 Mark Obsolete Code     531 Combine Multiple Events into a Single Event     532 Implement an Observer (aka Subscriber) Pattern     536 Use an Event Broker     540 Remember the Screen Location     543 Implement Undo Using Command Objects     545 Use Model-View-ViewModel in WPF     552 Understand Localization     562 Localize a Windows Forms Application     563 Localize an ASP.NET Application     564 Localize a WPF Application     565 Localize a Silverlight Application     570 Deploy Applications Using ClickOnce     572   Chapter 26  Interacting with the OS and Hardware     575 Get OS, Service Pack, and CLR Version     576 Get CPU and Other Hardware Information     576 Invoke UAC to Request Admin Privileges     578 Write to the Event Log     581 Access the Registry     583 Manage Windows Services     584 Create a Windows Service     585 Call Native Windows Functions Using P/Invoke     588 Call C Functions in a DLL from C#     589 Use Memory-Mapped Files     590 Ensure Your Application Works in Both 32-bit and 64-bit Environments     591 Respond to System Configuration Changes     593 Take Advantage of Windows 7 Features     593 Retrieve Power State Information     595   Chapter 27  Fun Stuff and Loose Ends     597 Create a Nonrectangular Window     598 Create a Notification Icon     602 Create a Screen Saver in WPF     605 Show a Splash Screen     614 Play a Sound File     619 Shuffle Cards     620   Appendix  Essential Tools     621 Reflector     622 NUnit     623 NDepend     626 FXCop     626 Virtual PC     627 Process Explorer and Process Monitor      628 RegexBuddy     630 LINQPad     630 Where to Find More Tools     631   Index     633

About the Author :
Ben Watson, a software engineer on Microsoft’s Bing team, helps design and implement massively scalable distributed systems and other internals for the Bing search engine. Before joining Microsoft he served as a lead developer for GeoEye, a top provider of satellite imagery. He blogs at PhilosophicalGeek.com, where he has presented many popular coding tutorials in C# and C++.


Best Sellers


Product Details
  • ISBN-13: 9780672331961
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Pearson Education (US)
  • Language: English
  • Weight: 1 gr
  • ISBN-10: 0672331969
  • Publisher Date: 01 Mar 2010
  • Binding: Digital download
  • No of Pages: 669


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
C# 4.0 How-To
Pearson Education (US) -
C# 4.0 How-To
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

C# 4.0 How-To

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!