From Java to C#: A Developer's Guide
暫譯: 從 Java 到 C#: 開發者指南

Heng Ngee Mok

  • 出版商: Addison Wesley
  • 出版日期: 2003-01-17
  • 售價: $1,580
  • 貴賓價: 9.8$1,548
  • 語言: 英文
  • 頁數: 464
  • 裝訂: Paperback
  • ISBN: 0321136225
  • ISBN-13: 9780321136220
  • 相關分類: C#Java 程式語言
  • 下單後立即進貨 (約5~7天)

買這商品的人也買了...

相關主題

商品描述

Table of Contents:

About the Author.
Preface.
Introduction.

Acknowledgments.

I. INTRODUCING .NET AND C#.

1. Introducing .NET.

Evolution: from COM to .NET.

What exactly is .NET?

Multiple .NET programming languages and VS .NET.

Intermediate language.

The .NET common language runtime.

Competing in parallel with Java technologies.

Common language infrastructure.

Other .NET-related technologies.

Unsafe codes and real time programs.

Porting .NET to other operating systems.

2. Introducing C#.

Potent combo of Java and C!!

3. JUMP to .NET and J#.

Java Language Conversion Assistant.

The J# language.

4. Hello C#!

How to compile and run the code examples in this book.

Some .NET specifics.

Disassembling an assembly file.

II. CLASSES, METHODS, AND OTHER OO STUFF.

5. Getting started.

Basic class structure.

Basic console I/O.

C# namespaces (Java packages).

6. Class issues.

Class modifiers.

Class members.

Creating an object with the new operator.

Looking at System.Object.

Class inheritance.

Implementing interfaces.

Sealed classes (Java final classes).

Abstract classes.

Nested classes (Java inner classes).

7. Method issues.

Method modifiers.

Method basics.

Instance constructors.

Static constructors (Java static initializers).

Destructors.

Constructor initializers and constructor chaining.

Method overloading.

Passing variable numbers of parameters into C# methods.

Abstract methods.

Method overriding using the virtual and override modifiers.

Method hiding with the new keyword.

Static methods.

Sealed methods (Java final methods).

8. Miscellaneous issues.

Access modifiers.

Static members.

C# constants and read-only fields (Java final variables).

Volatile fields.

III. TYPES, OPERATORS, AND FLOW CONTROL.

9. C# types.

Pointer types.

Reference types.

Value types.

Unsigned types in C#.

The decimal type.

The char type.

The string type and string literals.

All types are objects.

Casting for reference types.

Casting for value types.

Common typing with other .NET languages.

10. C# operators.

Operators and their precedence in C#.

Operator overloading.

typeof operator.

checked and unchecked operators and statements.

The # # operator.

The is operator (JavaÎs instanceof operator).

The as operator.

11. Iteration and flow control.

Looping with the while, do, for, continue and break keywords.

Conditional statements using the if and else keywords.

Looping with the foreach keyword.

Conditional statements with the switch and case keywords.

Flow control with the break and continue keywords.

Flow control with the goto keyword.

IV. CORE TOPICS.

12. Arrays.

One-dimensional arrays.

Multi-dimensional arrays: rectangular arrays.

Multi-dimensional arrays: jagged arrays.

Mixing jagged and rectangular arrays.

Using the System.Array class.

13. Exception handling.

Exception examples.

C# exception hierarchy.

Examining System.Exception.

Inner exceptions.

Catching generic exceptions.

14. C# delegates.

What are delegates?

A first delegate example.

Combining delegates.

Removing delegates.

Exception throwing in delegates.

Passing method parameters by reference in delegates.

15. C# events.

Generic event model.

What are C# events?

A full example.

Another full example.

16. Reflection and dynamic method invocation.

Retrieving the type of an instance.

Retrieving the type from a name of a class.

Retrieving methods from a type.

Retrieving modules from an assembly.

Dynamically invoking methods in late bound objects.

Creating new types during runtime.

17. Multi-threaded programming.

Multi-threading.

Thread states and multi-threading in C#.

Thread synchronization.

Threading guidelines.

18. File I/O.

Copying, moving, and deleting files.

Copying, moving, and deleting directories.

Reading from or writing to binary files.

Reading from and writing to text files.

19. C# collection classes.

ArrayList.

BitArray.

Hashtable.

Queue.

SortedList.

Stack.

V. Convenience features.

20. C# properties.

Properties as a replacement for accessor and mutator methods.

Having only either the get or set section.

Inheritance of properties.

21. C# indexes.

Overloading indexers.

Wrong use of indexers.

22. Operator overloading.

Explaining operator overloading.

Operator overloading proper.

Another example of operator overloading.

23. User-defined conversions/casts.

The implicit and explicit keywords.

Syntax of user-defined conversion method declarations.

VI. C#-specific features.

24. C# preprocessor directives.

Conditional compilation with #define, #undef, #if and #endif.

#else and #elif.

The /define compiler option and #undef.

#warning and #error.

#region and #endregion.

25. Using enums.

Specifying different int values for enum elements.

26. C# structures.

First look at structs.

Differences between a struct and a class.

Why use a struct?

27. C# attributes.

First look at attributes.

Standard attributes.

28. Writing custom attributes.

An attribute class.

Another custom attribute example.

Naming attribute classes and attribute specifications.

Custom attributes in depth.

The AttributeUsage attribute.

29. Writing unsafe codes.

Definitions.

Comparing Java and C#/.NET.

Introducing pointers.

Using the unsafe keyword.

Declaring pointers.

Using the & address-of operator.

Using the * indirection operator.

Passing pointers to methods.

Using the -> member access operator.

Using the sizeof operator.

Pointer casting.

Pointer arithmetic.

Using the fixed keyword.

A further example.

VII. APPENDICES.

Appendix A: Keywords in C#.
Appendix B: Comparing Java and C# keywords.
Appendix C: C# coding conventions.
Appendix D: XML documentation.
Appendix E: C# command line tools.
Appendix F: About .NET assemblies.

What is an assembly?

Shared assemblies and the GAC.

What is DLL hell?

Creating DLL assemblies using csc.exe.

Compiling to modules.

Referencing an external module during compilation of an assembly.

Appendix G: Abbreviations used in this book.

商品描述(中文翻譯)

目錄:

關於作者。
前言。
介紹。
致謝。

I. 介紹 .NET 和 C#。
1. 介紹 .NET。
演變:從 COM 到 .NET。
.NET 究竟是什麼?
多種 .NET 程式語言與 VS .NET。
中介語言。
.NET 通用語言執行環境。
與 Java 技術並行競爭。
通用語言基礎架構。
其他與 .NET 相關的技術。
不安全的程式碼與即時程式。
將 .NET 移植到其他作業系統。

2. 介紹 C#。
Java 和 C# 的強大組合!!

3. 跳轉到 .NET 和 J#。
Java 語言轉換助手。
J# 語言。

4. 你好 C#!
如何編譯和運行本書中的程式碼範例。
一些 .NET 的特性。
反組譯一個組件檔案。

II. 類別、方法和其他物件導向的內容。
5. 開始入門。
基本類別結構。
基本控制台 I/O。
C# 命名空間(Java 套件)。

6. 類別問題。
類別修飾符。
類別成員。
使用 new 運算子創建物件。
查看 System.Object。
類別繼承。
實作介面。
密封類別(Java 最終類別)。
抽象類別。
巢狀類別(Java 內部類別)。

7. 方法問題。
方法修飾符。
方法基礎。
實例建構函數。
靜態建構函數(Java 靜態初始化器)。
解構函數。
建構函數初始化器和建構函數鏈接。
方法重載。
將可變數量的參數傳遞給 C# 方法。
抽象方法。
使用 virtual 和 override 修飾符的方法覆寫。
使用 new 關鍵字的方法隱藏。
靜態方法。
密封方法(Java 最終方法)。

8. 其他問題。
存取修飾符。
靜態成員。
C# 常數和唯讀欄位(Java 最終變數)。
易失性欄位。

III. 類型、運算子和流程控制。
9. C# 類型。
指標類型。
參考類型。
值類型。
C# 中的無符號類型。
十進制類型。
字元類型。
字串類型和字串字面量。
所有類型都是物件。
參考類型的轉換。
值類型的轉換。
與其他 .NET 語言的共同類型。

10. C# 運算子。
運算子及其優先順序。
運算子重載。
typeof 運算子。
checked 和 unchecked 運算子及語句。
# # 運算子。
is 運算子(Java 的 instanceof 運算子)。
as 運算子。

11. 迭代和流程控制。
使用 while、do、for、continue 和 break 關鍵字進行迴圈。
使用 if 和 else 關鍵字的條件語句。
使用 foreach 關鍵字進行迴圈。
使用 switch 和 case 關鍵字的條件語句。
使用 break 和 continue 關鍵字的流程控制。
使用 goto 關鍵字的流程控制。

IV. 核心主題。
12. 陣列。
一維陣列。
多維陣列:矩形陣列。
多維陣列:不規則陣列。
混合不規則和矩形陣列。
使用 System.Array 類別。

13. 異常處理。
異常範例。
C# 異常層級。
檢查 System.Exception。
內部異常。
捕獲通用異常。

14. C# 委派。
什麼是委派?
第一個委派範例。
組合委派。
移除委派。
在委派中拋出異常。
在委派中按參考傳遞方法參數。

15. C# 事件。
通用事件模型。
什麼是 C# 事件?
完整範例。
另一個完整範例。

16. 反射和動態方法調用。
檢索實例的類型。
從類別名稱檢索類型。
從類型檢索方法。
從組件檢索模組。
在晚綁定物件中動態調用方法。
在執行時創建新類型。

17. 多執行緒程式設計。
多執行緒。
執行緒狀態和 C# 中的多執行緒。
執行緒同步。
執行緒指導方針。

18. 檔案 I/O。
複製、移動和刪除檔案。
複製、移動和刪除目錄。
從二進位檔案讀取或寫入。
從文字檔案讀取和寫入。

19. C# 集合類別。
ArrayList。
BitArray。
Hashtable。
Queue。
SortedList。
Stack。

V. 便利功能。
20. C# 屬性。
屬性作為存取器和變更器方法的替代品。
僅擁有 get 或 set 區段。
屬性的繼承。

21. C# 索引器。
重載索引器。
索引器的錯誤使用。

22. 運算子重載。
解釋運算子重載。
正確的運算子重載。
運算子重載的另一個範例。

23. 使用者定義的轉換/類型轉換。
隱式和顯式關鍵字。
使用者定義轉換方法聲明的語法。

VI. C# 特定功能。