天天看點

C#程式設計思想

該C#開發語言是包含在Visual Studio.NET架構中的最新應用程式開發語言。目前,随着網絡應用程式的廣泛開發與應用需求,C#已經成為開發基于計算和通信的最流行的語言。本書從基礎入門,結合Web開發的特點,詳細介紹C#開發語言的文法,并針對這些文法提供了豐富的例程,以充分發揮C#語言的開發優勢。

第1章  C#簡介

1.1  開始(Start)

1.2  類型(Types)

1.2.1  預定義類型(Predefined type)

1.2.2  轉換(Conversion)

1.2.3  數組類型(Array)

1.2.4  類型系統的統一(Type System Unification)

1.3  變量與參數(Variables And Parameters)

1.4  自動記憶體管理(Automatic Memory Management)

1.5  表達式(Expressions)

1.6  語句(Statements)

1.7  類(Class)

1.7.1  常量(Constants)

1.7.2  域(Fields)

1.7.3  方法(Methods)

1.7.4  屬性(Properties)

1.7.5  事件(Event)

1.7.6  操作符(Operators)

1.7.7  索引(Index)

1.7.8  執行個體構造函數(Instance Constructors)

1.7.9  析構函數(Destructors)

1.7.10  靜态構造函數(Static Constructors)

1.7.11  繼承(Inheritance)

1.8  結構(Structs)

1.9  接口(Interfaces)

1.10  委托(Delegates)

1.11  枚舉(Enums)

1.12  名字空間與彙編(Namespaces And Assemblies)

1.13  版本(Versioning)

1.14  屬性(Attributes)

第2章  詞法結構

2.1  翻譯階段(Phases of Translation)

2.2  文法符号(Grammar Notation)

2.3  詞法分析(Lexical Analysis)

2.3.1  輸入(Input)

2.3.2  字元輸入(Input Characters)

2.3.3  線終端函數(Line Terminators)

2.3.4  注釋(Comments)

2.3.5  空格(White Space)

2.4  辨別符(Tokens)

2.4.1  單碼字元轉義序列(Unicode Character Escape Sequences)

2.4.2  辨別符(Identifiers)

2.4.3  關鍵字(Keywords)

2.4.4  字母(Literals)

2.4.5  操作符與标點符号(Operators And Punctuators)

2.5  預處理指令(Pre-processing Directive)

2.5.1  預處理辨別符(Pre-processing Identifiers)

2.5.2  預處理表達式(Preprocessing expressions)

2.5.3  預處理聲明(Pre-processing Declarations)

2.5.4  #if,#elif,#else,#endif

2.5.5  #error和#waring

2.5.6  #region和#endregion

2.5.7  #lime

第3章  基本概念

3.1  程式開始(Program Startup)

3.2  程式結束(Progarm Termination)

3.3  聲明(Declarations)

3.4  元素(Members)

3.4.1  名字空間元素(Nanespace Members)

3.4.2  結構成員(Struct Members)

3.4.3  枚舉成員(Enumeration Members)

3.4.4  類項(Class Member)

3.4.5  接口成員(Interface Members)

3.4.6  數組項(Array Members)

3.4.7  委托成員(Delegate Members)

3.5  成員通路(Member Access)

3.5.1  聲明的可通路性(Declared Accessibility)

3.5.2  可通路域(Accessibility Domains)

3.5.3  通路保護(Protected Access)

3.5.4  通路限制(Accessibility Constraints)

3.6  簽名和重載(Signatures And Overloading)

3.7  範圍(Scopes)

3.7.1  名字的範圍(Name Scopes)

3.7.2  名字隐藏(Name Hiding)

3.8  名字空間和類型名字(Namespace And Type Names)

第4章  類型

4.1  值類型(Value Types)

4.1.1  預設構造函數(Default Constructors)

4.1.2  結構類型(Struct Types)

4.1.3  簡單類型(Simple Types)

4.1.4  整類型(Integral Types)

4.1.5  浮點數類型(Floating Point Types)

4.1.6  十進制類型(The Decimal Type)

4.1.7  布爾類型(The Bool Type)

4.1.8  枚舉類型(Enumeration Types)

4.2  引用類型(Reference Types)

4.2.1  類類型(Class Types)

4.2.2  對象類型(The Object Type)

4.2.3  字元串類型(The string Type)

4.2.4  接口類型(Interface Types)

4.2.5  數組類型(Array Type)

4.2.6  委托類型(Delegate Type)

4.3  封箱和非封箱(Boxing and Unboxing)

4.3.1  封箱轉換(Boxing Conversions)

4.3.2  非封箱轉換(Unboxing Conversions)

第5章  變量

5.1  變量分類(Variable Categories)

5.1.1  靜态變量(Static Variables)

5.1.2  執行個體變量(Instance Variables)

5.1.3  數組成員(Array Elements)

5.1.4  值參數(Value Parameters)

5.1.5  引用參數(Referendce Parameters)

5.1.6  輸出參數(Output Parameters)

5.1.7  局部變量(Local Variables)

5.2  預設值(Default Values)

5.3  明确指派(Definite Assignment)

5.3.1  初始指派變量(Initially Assigned Variables)

5.3.2  初始末指派變量(Initially Unassigned Variables)

5.4  變量引用(Variable References)

第6章  轉換

6.1  隐式轉換(Implicit Conversions)

6.1.1  一緻性轉換(Identit Conversion)

6.1.2  隐式數值轉換(Implicit Numeric Conversions)

6.1.3  隐式枚舉轉換(Impliclt Enumeration Conversiom)

6.1.4  隐式參照轉換(Implicit Reference Converions)

6.1.5  封箔轉換(Boxing Conversions)

6.1.6  隐式常量表達式轉換(Implicit Constant Expression Conversions)

6.1.7  使用者自定義隐式轉換(User-defined Implicit Conversions)

6.2  顯式轉換(Explicit Conversions)

6.2.1  顯式數值轉換(Explicit Numeric Conversions)

6.2.2  顯式枚舉轉換(Explicit Enum Conversions)

6.2.3  顯式引用轉換(Explicit Reference Conversions)

6.2.4  非封箱轉換(Unboxing Convenions)

6.2.5  使用者自定義顯式轉換(User-Defined Explicit Conversions)

6.3  标準轉換(Standard Conversions)

6.3.1  标準隐式轉換(Standard Implicit Conversions)

6.3.2  标準顯式轉換(Standard Explicit Conversions)

6.4  使用者自定義轉換(User-Defined Conversions)

6.4.1  被允許的使用者自定義轉換(Permitted User-Defined Conversions)

6.4.2  使用者自定義轉換求值(Evalustion of User-Defined Conversions)

6.4.3  使用者自定義隐式轉換(User-Defined Implicit Conveersions)

6.4.4  使用者自定義顯式轉換(User-Defined Explicit Conversions)

第7章  表達式

7.1  表達式分類(Expression Classifications)

7.1.1  分類(Classifications)

7.1.2  表達式的值(Values of Expressions)

7.2  操作符(Operators)

7.2.1  操作符優先與結合性(Operator Precedence And Associativity)

7.2.2  操作符重載(Operator Overloading)

7.2.3  一進制操作符重載分解(Unary Operator Overload Resolution)

7.2.4  二進制操作符重載分解(Binary Operator Overload Resolaction)

7.2.5  候選使用者自定義操作符(Candidate User-Defined Operators)

7.2.6  數提升(Numeric Promotions)

7.3  成員查找(Member Lookup)

7.4  函數成員(Function Members)

7.4.1  自變量清單(Argument Lists)

7.4.2  重載分解(Overload Resolution)

7.4.3  函數成員引用(Function Member Invocation)

7.5  原始表達式(Primary Expressions)

7.5.1  字母(Literals)

7.5.2  簡化名(Smple Manes)

7.5.3  括弧表達式(Parenthesized Expressions)

7.5.4  成員通路(Member Access)

7.5.5  引用表達式(Invocation Expressions)

7.5.6  成員通路(Elemet Access)

7.5.7  This通路(This Access)

7.5.8  基本通路(Base Access)

7.5.9  字尾增量和減量操作符(Postfix Increment And Decrement Operators)

7.5.10  New操作符(New Operator)

7.5.11  Typeof操作符(Type of Operator)

7.5.12  檢查的和未檢查操作符(Checked And Unchecked Operators)

7.6  一進制表達式(Unary ExPression)

7.6.1  一進制加操作符(Unary Plus Operator)

7.6.2  一進制減操作符(Unary Minus OPerator)

7.6.3  邏輯非操作符(Logical Negation Operator)

7.6.4  按位求補碼操作符(Bitwise Complement Operator)

7.6.5  字首增量和減量操作符(Prefix Increment And Decrement Operators)

7.6.6  CAST表達式(Cast Expressions)

7.7  算術運算符(Arithmetic Operators)

7.7.1  乘法運算操作符(Multiplication Operator)

7.7.2  除法運算操作符(Division operator)

7.7.3  求餘數操作符(Rermainder Operator)

7.7.4  加法操作符(Addition Operator)

7.7.5  減法操作符(Subtraction Operator)

7.8  轉換操作符(Shift Operators)

7.9  關系操作符(Relational Operators)

7.9.1  整數比較操作符(Integer Comparison Operators)

7.9.2  浮點數比較操作符(Floating-Point Comparison Operators)

7.9.3  十進制比較操作符(Decimal Comparison Operators)

7.9.4  布爾等操作符(Boolean Equality Operatprs)

7.9.5  枚舉比較操作符(Enumeration Comparison Operators)

7.9.6  引用類型相等操作符(Refgence type Equality Operators)

7.9.7  字元串相等操作符(String Equality Operators)

7.9.8  委托相等操作符(Delegate Equality Operators)

7.9.9  is操作符(The is Operator)

7.9.10  as操作符(The as Operator)

7.10  邏輯操作符(Logical Operators)

7.10.1  整數邏輯操作符(Inter Logical Operators)

7.10.2  枚舉邏輯操作符(Enumeration  Logical Operators)

7.10.3  布爾邏輯操作符(Boolean Logical Operators)

7.11  附加條件邏輯操作符(Conditional Logical Operators)

7.11.1  布爾條件邏輯操作符(Boolean Conditional Logical Operators)

7.11.2  自定義條件邏輯操作符(User-Defined Conditional Logical Operators)

7.12  條件操作符(Conditinal Operator)

7.13  指派操作符(Assignment Operators)

7.13.1  簡單指派(Simple Assignment)

7.13.2  複合指派(Compound Assignment)

7.14  表達式(Expression)

7.15  常量表達式(Constant Expressions)

7.16  布爾表達式(Boolean Expressions)

第8章  語句

8.1  結束點和可到達性(End Points And Reachability)

8.2  塊(Blocks)

8.3  空語句(The Empty Statement)

8.4  标号語句(Labeled Statements)

8.5  聲明語句(Declaration Statements)

8.5.1  局部變量聲明(Local Variable Declarations)

8.5.2  局部常量聲明(Local Constant Declarations)

8.6  表達式語句(Expression Statements)

8.7  選擇語句(Selection Statements)

8.7.1  if語句(The If Statement)

8.7.2  swith語句(The Switch Statement)

8.8  iteration語句(Iteration Statements)

8.8.1  While語句(The While Statement)

8.8.2  do語句(The Do Statement)

8.8.3  for語句(The For Statement)

8.8.4  for each語句(The For Each Statement)

8.9  jump語句(Jump Statemeots)

8.9.1  break語句(The Break Statement)

8.9.2  continue語句(The Continue Statement)

8.9.3  goto語句(The Goto statement)

8.9.4  retum語句(The Retum Statement)

8.9.5  throw語句(The Throw Statement)

8.10  try語句(The Try Statement)

8.11  hecked和unchecked語句(The Checked And Unchecked Statements)

8.12  lock語句(The Lock Statement)

8.13  using語句(The Using Statement)

第9章  名字空間

9.1  編譯單元(Compilation Units)

9.2  名字空間聲明(Namespace Declarations)

9.3  使用指令(Using Directives)

9.3.1  别名指令使用(Using Alias Directives)

9.3.2  名字空間指令使用(Using Nanespace Directives)

9.4  名字空間成員(Namespace Members)

9.5  類型聲明(Type Declarations)

第10章    類

10.1  類聲明(Class Declaarations)

10.1.1  類修改函數(Class Modifiers)

10.1.2  類基本說明(Class Base Specification)

10.1.3  類主體(Class Body)

10.2  類成員(Class Member)

10.2.1  繼承(Inheritance)

10.2.2  new修改函數(The New Modifier)

10.2.3  通路修改函數(Access Modifiers)

10.2.4  constituent類型(Constituent Types)

10.2.5  靜态和執行個體成員(Static And Instance Members)

10.3  常量(Cogstants)

10.4  域(Fields)

10.4.1  靜态和執行個體域(Static And Instance Fields)

10.4.2  readonly域(Readonly Fields)

10.4.3  域初始化(Field Initialization)

10.4.4  變量初始化(Variable Initilizers)

10.5  方法(Methods)

10.5.1  方法參數(Method Parmeter)

10.5.2  靜态和執行個體方法(Static And Instance Methods)

10.5.3  虛拟方法(Virtual Methods)

10.5.4  重載方法(Override Methods)

10.5.5  封裝方法(Sealed Methods)

10.5.6  抽象方法(Abstract Methods)

10.5.7  外部方法(External Methods)

10.5.8  方法主體(Method Body)

10.5.9  方法重載(Method Overloading)

10.6  屬性(Properties)

10.6.1  靜态屬性(Static Properties)

10.6.2  通路函數(Accessors)

10.6.3  虛拟、封裝、重載和抽象通路函數(Virtual,Sealed,overrde And Abstrct Accessors)

10.7  事件(Events)

10.7.1  事件通路函數(Event Accessors)

10.7.2  靜态事件(Static Events)

10.8  索引(Indexers)

10.9  操作符(Operators)

10.9.1  一進制操作符(Unary Operators)

10.9.2  二進制操作符(Binary Operators)

10.9.3  轉換操作符(Conversion Operators)

10.10  執行個體構造函數(Instance Constructors)

10.10.1  構造函數初始化(Constructor Initializers)

10.10.2  執行個體變量初始化函數(Inatace Variable Initializers)

10.10.3  構造函數執行(Constructor Execution)

10.10.4  預設構造函數(Default Constructors)

10.10.5  局部構造函數(Private Constructors)

10.10.6  可選擇的構造函數參數(Optional Const)

10.11  态構造函數(Static Constructors)

10.12  析構函數(Destructors)

第11章  結構

11.1  結構聲明(Struct Declarations)

11.1.1  結構修改函數(Struct Modifiers)

11.1.2  結構接口(Struct Interfaces)

11.1.3  結構主體(Struct Body)

11.2  結構成員(Struct Members)

11.3  類和結構差異(Class And Struct Differences)

11.3.1  值語義(Value Semantics)

11.3.2  繼承(Inheritance)

11.3.3  指派(Assignment)

11.3.4  預設值(Default Values)

11.3.5  封箱和非封箱(Boxing And Unboxing)

11.3.6  this的意思(Meaning of This)

11.3.7  域初始化(Field Initializers)

11.3.8  構造函數(Constructors)

11.3.9  析構函數(Destructors)

11.4  結構執行個體(Struct Examples)

11.4.1  資料庫整數類型(Database Integer Type)

11.4.2  布爾型資料庫類型(Database Boolean Type)

第12章  數組

12.1  數組類型(Array Types)

12.2  數組建立(Array Creation)

12.3  數組成員通路(Array Element Access)

12.4  數組成員(Array Members)

12.5  數組方差(Array Covariance)

12.6  數組初始化函數(Array Initializers)

第13章  接口

13.1  接口聲明(Interface declarations)

13.1.1  接口修改函數(Interface Modifiers)

13.1.2  基本接口(Base Interfaces)

13.1.3  接口主體(Interface Body)

13.2  接口成員(Interface Members)

13.2.1  接口方法(Interface Methods)

13.2.3  接口事件(Interface Events)

13.2.4  接口索引(Interface Indexers)

13.2.5  接口成員通路(Interface Member Access)

13.3  全權接口成員名字(Fully Qualified Intenace Member Names)

13.4  接口執行(Interface Implementations)

13.4.1  顯式接口成員執行(Explicit Interface Member Implementations)

13.4.2  接口映射(Interface Mapping)

13.4.3  接口執行繼承(Interface Implementation Inheritance)

13.4.4  接口再執行(Interface Re-Implementation)

13.4.5  抽象類和接口(Abstract Classes And Interfaces)

第14章  枚舉

14.1  枚舉聲明(Enum Declarations)

14.2  枚舉修改函數(Enum Modifiers)

14.3  枚舉成員(Enum Members)

14.4  Enum值和操作(Enum Values And Operations)

第15章  委托

15.1  委托聲明(Delegate Declarations)

15.2  委托執行個體(Delegate Instantition)

15.3  多cast委托(Multi-Cast Delegates)

15.4  委托引用(Delegate Invocation)

第16章  異常

16.1  異常原因(Causes of Exceptions)

16.2  System.Exception類(The System.Exception Class)

16.3  怎樣處理異常(How Exceptions Are Handled)

16.4  常用的異常類(Common Exception Classes)

第17章  屬性

17.1  類屬性(Attribute Classes)

17.1.1  AttributeUsage屬性(The Attributeusage Attribute)

17.1.2  位置和命名參數(Positional And Named Parameters)

17.1.3  屬性參數類型(Attribute Parameter Types)

17.2  屬性說明(Attribute Specification)

17.3  屬性執行個體(Attribute Instances)

17.3.1  屬性的編譯(Compilation of Attribute)

17.3.2  屬性執行個體的運作期恢複(Run-time Retrieval of An Attribute Instance)

17.4  保留屬性(Reserved Attribute)

17.4.1  AttributeUsage屬性(The AttributeUsage Attribute)

17.4.2  Conditional屬性(The Conditional Attribute)

17.4.3  Obsolete屬性(The Obsolete Attribute)

附錄A  不安全代碼

附錄B  互操作性

參考文獻