书名:Essential C#2.0(英文版)
编号:362359
ISBN:9787115166876[十位:7115166870]
作者:Mark Michaelis
出版社:人民邮电出版社
出版日期:2007年12月
页数:720
定价:95.00 元
参考重量:1.200Kg
-------------------------
图书情况:正版二手旧书,绝不影响正常阅读!
绝无缺页少页,发货前再次检查,请放心购买!
* 内容提要 *
本书以大量实例,详尽地阐述了C# 2.0的核心特性,指导方针和最佳实践。书中代码采用了专门的格式,并采用 “知识地图”的形式概括出每一章的主要内容。
本书全面讲解了C#语言,读者从中能够学到:C#基本数据类型、值类型、引用类型、类型转换和数组;运算符、控制流、循环、条件逻辑和顺序编程;方法、参数、异常处理和结构化编程;类、遗传、结构接口和面向对象编程;结构良好的类型、运算符重载、命名空间和垃圾回收;泛型、集合和迭代子;映射、属性和声明性编程;线程、同步和多线程模式;互操作性和不安全代码;C#通用语言基础结构(CLI)。
本书内容全面系统,并经过精心编排,相信无论是初学编程的新手、有其他语言编程经验的开发者或是专业C#程序员,阅读本书都将受益匪浅。
* 图书目录 *
1 Introducing C#
Hello, World
Compiling and Running the Application
Managed Execution and the Common Language Infrastructure
C# Syntax Fundamentals
C# Keywords
Type Definition
Main
Statements and Statement Delimiters
Whitespace
Working with Variables
Data Types
Declaring a Variable
Assigning a Variable
Using a Variable
Console Input and Output
Getting Input from the Console
Writing Output to the Console
Comments
Common Intermediate Language and ILDASM
2 Data Types
Fundamental Numeric Types
Integer Types
Floating-Point Types (float, double)
Decimal Type
Literal Values
More Fundamental Types
Boolean Type (bool)
Character Type (char)
Strings
null and void
null
The void Nontype
Categories of Types
Value Types
Reference Types
Nullable Modifier
Conversions between Data Types
Explicit Cast
Implicit Cast
Type Conversion without Casting
Arrays
Declaring an Array
Instantiating and Assigning Arrays
Using an Array
Strings as Arrays
Common Errors
3 Operators and Control Flow
Operators
Plus and Minus Unary Operators (+, -)
Arithmetic Binary Operators (+, -, *, /, %)
Parenthesis Operator
Assignment Operators (+=, -=, *=, /=, %=)
Increment and Decrement Operators (++, --)
Constant Expressions (const)
Introducing Flow Control
if Statement
Nested if
Code Blocks ({})
Scope
Boolean Expressions
Relational and Equality Operators
Logical Boolean Operators
Logical Negation Operator (!)
Conditional Operator (?)
Bitwise Operators ( , , |, &, ^, ~)
Shift Operators ( , , =, =)
Bitwise Operators (&, |, ^)
Bitwise Assignment Operators (&=, |=, ^=)
Bitwise Complement Operator (~)
Control Flow Statements, Continued
The while and do/while Loops
The for loop
The foreach Loop
The switch Statement
Jump Statements
The break Statement
The continue Statement
The goto Statement
C# Preprocessor Directives
Excluding and Including Code (#if, #elif, #else, #endif)
Defining Preprocessor Symbols (#define, #undef)
Emitting Errors and Warnings (#error, #warning)
Turning Off Warning Messages (#pragma)
nowarn: warn list Option
Specifying Line Numbers (#line)
Hints for Visual Editors (#region, #endregion)
4 Methods and Parameters
Calling a Method
Namespace
Type Name
Scope
Method Name
Parameters
Method Return
Statement versus Method Call
Declaring a Method
Parameter Declaration
Method Return Declaration
The using Directive
Aliasing
Returns and Parameters on Main()
Parameters
Value Parameters
Reference Parameters (ref)
Output Parameters (out)
Parameter Arrays (params)
Recursion
Method Overloading
Basic Error Handling with Exceptions
Trapping Errors
Reporting Errors Using a throw Statement
5 Classes
Defining and Instantiating a Class
Instance Fields
Declaring an Instance Field
Accessing an Instance Field
Instance Methods
Using the this Keyword
Access Modifiers
Constructors
Declaring a Constructor
Default Constructors
Overloading Constructors
Calling Another Constructor Using this
Static
Static Fields
Static Methods
Static Constructors
Static Classes
const and readonly Modifiers
const
readonly
Properties
Declaring a Property
Naming Conventions
Static Properties
Using Properties with Validation
Read-Only and Write-Only Properties
Access Modifiers on Getters and Setters
Properties as Virtual Fields
Properties and Method Calls Not Allowed as ref or out Parameter Values
Nested Classes
Partial Classes
6 Inheritance
Derivation
Casting between Base and Derived Types
Support for Parameter Covariance and Contravariance
private Access Modifier
protected Access Modifier
Single Inheritance
Sealed Classes
Overriding the Base Class
virtual Modifier
new Modifier
sealed Modifier
base Member
Constructors
Abstract Classes
Everything Ultimately Derives from System.Object
Verifying the Underlying Type with the is Operator
Conversion Using the as Operator
7 Interfaces
Introducing Interfaces
Polymorphism through Interfaces
Interface Implementation
Explicit Member Implementation
Implicit Member Implementation
Explicit versus Implicit Interface Implementation
Casting between the Implementing Class and Its Interfaces
Interface Inheritance
Multiple Interface Inheritance
Implementing Multiple Inheritance via Interfaces
Versioning
Interfaces Compared with Classes
8 Value Types
Structs
Initializing structs
Using the default Operator
Inheritance and Interfaces with Value Types
Boxing
Enums
Type Compatibility between Enums
Converting between Enums and Strings
Enums as Flags
9 Well-Formed Types
Overriding object Members
Overriding ToString()
Overriding GetHashCode()
Overriding Equals()
Guidelines for Implementing Equality
Operator Overloading
Comparison Operators (==, !=, , , =, =)
Binary Operators (+, -, *, /, %, &, |, ^, , )
Combining Assignment with Binary Operators (+=, -=, *=, /=, %=, &=...) 337
Conditional Logical Operators (&&, ||)
Unary Operators (+, -, !, ~, ++, --, true, false)
Conversion Operators
Guidelines for Conversion Operators
Referencing Other Assemblies
Changing the Assembly Target
Encapsulation of Types
Referencing an Assembly
Defining Namespaces
Namespace Alias Qualifier
XML Comments
Associating XML Comments with Programming Constructs
Generating an XML Documentation File
Garbage Collection
Weak References
Resource Cleanup
Finalizers
Deterministic Finalization with the using Statement
Garbage Collection and Finalization
Resource Utilization and Finalization Guidelines
10 Exception Handling
Multiple Exception Types
Catching Exceptions
General Catch Block
Guidelines for Exception Handling
Defining Custom Exceptions
11 Generics
C# without Generics
Introducing Generic Types
Using a Generic Class
Defining a Simple Generic Class
Benefits of Generics
Type Parameter Naming Guidelines
Generic Interfaces and Structs
Defining a Constructor and a Finalizer
Specifying a Default Value
Multiple Type Parameters
Nested Generic Types
Type Compatibility between Generic Classes with Type-Compatible Type Parameters
Constraints
Interface Constraints
Base Class Constraints
struct/class Constraints
Multiple Constraints
Constructor Constraints
Constraint Inheritance
Generic Methods
Type Inferencing
Specifying Constraints
Generic Internals
Instantiating Generics Based on Value Types
Instantiating Generics Based on Reference Types
12 Collections
Primary Collection Classes
List Collections: List T and ArrayList
Dictionary Collections: Dictionary TKey, TValue and Hashtable
Sorted Collections: SortedDictionary TKey, TValue and SortedList T
Stack Collections: Stack T and Stack
Queue Collections: Queue T and Queue
Linked Lists: LinkedList T
Introducing Collection Class Interfaces
IList T versus IDictionary TKey, TValue
IComparable T
ICollection T
Iterating Using a foreach Loop
Providing an Index Operator
Returning Null or an Empty Collection
Iterators
Defining an Iterator
Iterator Syntax
Yielding Values from an Iterator
Iterators and State 453
More Iterator Examples 455
Placing a yield return within a Loop
Canceling Further Iteration: yield break
Creating Multiple Iterators in a Single Class
yield Statement Characteristics
13 Delegates and Events
Method Pointers
Defining the Scenario
Delegate Data Types
Delegate Internals
Defining a Delegate Type
Instantiating a Delegate
Anonymous Methods
Outer Variables
Multicast Delegates and the Observer Pattern
Coding the Observer Pattern with Delegates
Sequential Invocation
Events
Why Events?
Declaring an Event
Coding Conventions
Generics and Delegates
Customizing the Event Implementation
14 Reflection and Attributes
Refiection
Accessing Metadata Using System.Type
Member Invocation
Refiection on Generic Types
Attributes
Custom Attributes
Looking for Attributes
Initializing an Attribute through a Constructor
System.AttributeUsageAttribute
Named Parameters
15 Multithreading
Running and Controlling a Separate Thread
Starting a Thread
Thread Management
Passing Parameters to Threads
Thread Pooling
Unhandled Exceptions
Synchronization
Synchronization Using Monitor
Using the lock Keyword
Choosing a lock Object
Why to Avoid Locking on this and typeof(type)
Declaring Fields as volatile
Using the System.Threading.Interlocked Class
Event Notification with Multiple Threads
Synchronization Design Best Practices
More Synchronization Types
Timers
16 Multithreading Patterns
Asynchronous Results Pattern
Introducing the Asynchronous Results Pattern
Passing Data to and from an Alternate Thread
Receiving Notification of Thread Completion
Passing Arbitrary State
Asynchronous Results Conclusions
Background Worker Pattern
Establishing the Pattern
Exception Handling
Windows Forms
17 Platform Interoperability and Unsafe Code
Platform Invoke
Declaring External Functions
Parameter Data Types
Using ref Rather Than Pointers
Using StructLayoutAttribute for Sequential Layout
Error Handling
Using SafeHandle
Calling External Functions
Simplifying API Calls with Wrappers
Function Pointers Map to Delegates
Guidelines
Pointers and Addresses
Unsafe Code
Pointer Declaration
Assigning a Pointer
Dereferencing a Pointer
Accessing the Member of a Referent Type
18 The Common Language Infrastructure
Defining the Common Language Infrastructure (CLI)
CLI Implementations
C# Compilation to Machine Code
Runtime
Garbage Collection
Garbage Collection on .NET
Type Safety
Code Access Security
Platform Portability
Performance
Application Domains
Assemblies, Manifests, and Modules
Common Intermediate Language (CIL)
Common Type System (CTS)
Common Language Specification (CLS)
Base Class Library (BCL)
Metadata
A Downloading and Installing the C# Compiler and the CLI Platform
B Complete Source Code Listings
C C# 2.0 Topics
Index
* 文章节选 *
暂无相关介绍
* 编辑推荐与评论 *
暂无相关介绍
* 作者介绍 *
暂无相关介绍