C# 4.0 how-to
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...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
[Place of publication not identified]
Sams
2010
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009628884206719 |
Tabla de Contenidos:
- Cover
- Table of Contents
- Introduction
- Overview of C# 4.0 How-To
- How-To Benefit from This Book
- How-To Continue Expanding Your Knowledge
- Part I: C# Fundamentals
- 1 Type Fundamentals
- Create a Class
- Define Fields, Properties, and Methods
- Define Static Members
- Add a Constructor
- Initialize Properties at Construction
- Use const and readonly
- Reuse Code in Multiple Constructors
- Derive from a Class
- Call a Base Class Constructor
- Override a Base Class's Method or Property
- Create an Interface
- Implement Interfaces
- Create a Struct
- Create an Anonymous Type
- Prevent Instantiation with an Abstract Base Class
- Interface or Abstract Base Class?
- 2 Creating Versatile Types
- Format a Type with ToString( )
- Make Types Equatable
- Make Types Hashable with GetHashCode( )
- Make Types Sortable
- Give Types an Index
- Notify Clients when Changes Happen
- Overload Appropriate Operators
- Convert One Type to Another
- Prevent Inheritance
- Allow Value Type to Be Null
- 3 General Coding
- Declare Variables
- Defer Type Checking to Runtime (Dynamic Types)
- Use Dynamic Typing to Simplify COM Interop
- Declare Arrays
- Create Multidimensional Arrays
- Alias a Namespace
- Use the Conditional Operator (?:)
- Use the Null-Coalescing Operator (??)
- Add Methods to Existing Types with Extension Methods
- Call Methods with Default Parameters
- Call Methods with Named Parameters
- Defer Evaluation of a Value Until Referenced
- Enforce Code Contracts
- 4 Exceptions
- Throw an Exception
- Catch an Exception
- Catch Multiple Exceptions
- Rethrow an Exception
- (Almost) Guarantee Execution with finally
- Get Useful Information from an Exception
- Create Your Own Exception Class
- Catch Unhandled Exceptions
- Usage Guidelines
- 5 Numbers
- Decide Between Float, Double, and Decimal.
- Use Enormous Integers (BigInteger)
- Use Complex Numbers
- Format Numbers in a String
- Convert a String to a Number
- Convert Between Number Bases
- Convert a Number to Bytes (and Vice Versa)
- Determine if an Integer Is Even
- Determine if an Integer Is a Power of 2 (aka, A Single Bit Is Set)
- Determine if a Number Is Prime
- Count the Number of 1 Bits
- Convert Degrees and Radians
- Round Numbers
- Generate Better Random Numbers
- Generate Unique IDs (GUIDs)
- 6 Enumerations
- Declare an Enumeration
- Declare Flags as an Enumeration
- Determine if a Flag Is Set
- Convert an Enumeration to an Integer (and Vice Versa)
- Determine if an Enumeration Is Valid
- List Enumeration Values
- Convert a String to an Enumeration
- Attach Metadata to Enums with Extension Methods
- Enumeration Tips
- 7 Strings
- Convert a String to Bytes (and Vice Versa)
- Create a Custom Encoding Scheme
- Compare Strings Correctly
- Change Case Correctly
- Detect Empty Strings
- Concatenate Strings: Should You Use StringBuilder?
- Concatenate Collection Items into a String
- Append a Newline Character
- Split a String
- Convert Binary Data to a String (Base-64 Encoding)
- Reverse Words
- Sort Number Strings Naturally
- 8 Regular Expressions
- Search Text
- Extract Groups of Text
- Replace Text
- Match and Validate
- Help Regular Expressions Perform Better
- 9 Generics
- Create a Generic List
- Create a Generic Method
- Create a Generic Interface
- Create a Generic Class
- Create a Generic Delegate
- Use Multiple Generic Types
- Constrain the Generic Type
- Convert IEnumerable<
- string>
- to IEnumerable<
- object>
- (Covariance)
- Convert IComparer<
- Child>
- to IComparer<
- Parent>
- (Contravariance)
- Create Tuples (Pairs and More)
- Part II: Handling Data
- 10 Collections.
- Pick the Correct Collection Class
- Initialize a Collection
- Iterate over a Collection Independently of Its Implementation
- Create a Custom Collection
- Create Custom Iterators for a Collection
- Reverse an Array
- Reverse a Linked List
- Get the Unique Elements from a Collection
- Count the Number of Times an Item Appears
- Implement a Priority Queue
- Create a Trie (Prefix Tree)
- 11 Files and Serialization
- Create, Read, and Write Files
- Delete a File
- Combine Streams (Compress a File)
- Get a File Size
- Get File Security Description
- Check for File and Directory Existence
- Enumerate Drives
- Enumerate Directories and Files
- Browse for Directories
- Search for a File or Directory
- Manipulate File Paths
- Create Unique or Temporary Filenames
- Watch for File System Changes
- Get the Paths to My Documents, My Pictures, Etc.
- Serialize Objects
- Serialize to an In-Memory Stream
- Store Data when Your App Has Restricted Permissions
- 12 Networking and the Web
- Resolve a Hostname to an IP Address
- Get This Machine's Hostname and IP Address
- Ping a Machine
- Get Network Card Information
- Create a TCP/IP Client and Server
- Send an Email via SMTP
- Download Web Content via HTTP
- Upload a File with FTP
- Strip HTML of Tags
- Embed a Web Browser in Your Application
- Consume an RSS Feed
- Produce an RSS Feed Dynamically in IIS
- Communicate Between Processes on the Same Machine (WCF)
- Communicate Between Two Machines on the Same Network (WCF)
- Communicate over the Internet (WCF)
- Discover Services During Runtime (WCF)
- 13 Databases
- Create a New Database from Visual Studio
- Connect and Retrieve Data
- Insert Data into a Database Table
- Delete Data from a Table
- Run a Stored Procedure
- Use Transactions
- Bind Data to a Control Using a DataSet.
- Detect if Database Connection Is Available
- Automatically Map Data to Objects with the Entity Framework
- 14 XML
- Serialize an Object to and from XML
- Write XML from Scratch
- Read an XML File
- Validate an XML Document
- Query XML Using XPath
- Transform Database Data to XML
- Transform XML to HTML
- Part III: User Interaction
- 15 Delegates, Events, and Anonymous Methods
- Decide Which Method to Call at Runtime
- Subscribe to an Event
- Publish an Event
- Ensure UI Updates Occur on UI Thread
- Assign an Anonymous Method to a Delegate
- Use Anonymous Methods as Quick-and-Easy Event Handlers
- Take Advantage of Contravariance
- 16 Windows Forms
- Create Modal and Modeless Forms
- Add a Menu Bar
- Disable Menu Items Dynamically
- Add a Status Bar
- Add a Toolbar
- Create a Split Window Interface
- Inherit a Form
- Create a User Control
- Use a Timer
- Use Application and User Configuration Values
- Use ListView Efficiently in Virtual Mode
- Take Advantage of Horizontal Wheel Tilt
- Cut and Paste
- Automatically Ensure You Reset the Wait Cursor
- 17 Graphics with Windows Forms and GDI+
- Understand Colors
- Use the System Color Picker
- Convert Colors Between RGB to HSV
- Draw Shapes
- Create Pens
- Create Custom Brushes
- Use Transformations
- Draw Text
- Draw Text Diagonally
- Draw Images
- Draw Transparent Images
- Draw to an Off-Screen Buffer
- Access a Bitmap's Pixels Directly for Performance
- Draw with Anti-Aliasing
- Draw Flicker-Free
- Resize an Image
- Create a Thumbnail of an Image
- Take a Multiscreen Capture
- Get the Distance from the Mouse Cursor to a Point
- Determine if a Point Is Inside a Rectangle
- Determine if a Point Is Inside a Circle
- Determine if a Point Is Inside an Ellipse
- Determine if Two Rectangles Intersect
- Print and Print Preview
- 18 WPF
- Show a Window.
- Choose a Layout Method
- Add a Menu Bar
- Add a Status Bar
- Add a Toolbar
- Use Standard Commands
- Use Custom Commands
- Enable and Disable Commands
- Expand and Collapse a Group of Controls
- Respond to Events
- Separate Look from Functionality
- Use Triggers to Change Styles at Runtime
- Bind Control Properties to Another Object
- Format Values During Data Binding
- Convert Values to a Different Type During Data Binding
- Bind to a Collection
- Specify How Bound Data Is Displayed
- Define the Look of Controls with Templates
- Animate Element Properties
- Render 3D Geometry
- Put Video on a 3D Surface
- Put Interactive Controls onto a 3D Surface
- Use WPF in a WinForms App
- Use WinForms in a WPF Application
- 19 ASP.NET
- View Debug and Trace Information
- Determine Web Browser Capabilities
- Redirect to Another Page
- Use Forms Authentication for User Login
- Use Master Pages for a Consistent Look
- Add a Menu
- Bind Data to a GridView
- Create a User Control
- Create a Flexible UI with Web Parts
- Create a Simple AJAX Page
- Do Data Validation
- Maintain Application State
- Maintain UI State
- Maintain User Data in a Session
- Store Session State
- Use Cookies to Restore Session State
- Use ASP.NET Model-View-Controller (MVC)
- 20 Silverlight
- Create a Silverlight Project
- Play a Video
- Build a Download and Playback Progress Bar
- Response to Timer Events on the UI Thread
- Put Content into a 3D Perspective
- Make Your Application Run out of the Browser
- Capture a Webcam
- Print a Document
- Part IV: Advanced C#
- 21 LINQ
- Query an Object Collection
- Order the Results
- Filter a Collection
- Get a Collection of a Portion of Objects (Projection)
- Perform a Join
- Query XML
- Create XML
- Query the Entity Framework
- Query a Web Service (LINQ to Bing).
- Speed Up Queries with PLINQ (Parallel LINQ).