標籤: 暫無標籤

1 C#入門經典 -C#入門經典第3版

基本信息

  原書名:Beginning Visual C# 2005

  原出版社:Wrox

  作者:(美)Karli Watson Christian Nagel

  譯者:齊立波

  叢書名:清華版Wrox公司.NET和ORACLE編程經典系列

  出版社:清華大學出版社

  ISBN:7302127352

  出版日期:2006 年5月

  開本:16開

  頁碼:864

  所屬分類:計算機> 軟體與程序設計> C#

內容簡介

  這是一本曾成就無數C#程序員的經典名著,厚而不「重」,可幫助您輕鬆掌握C# 2005的各種編程知識,為您的職業生涯打下堅實的基礎!該書自第1版問世,國內銷量達3萬冊!一本首選的入門教程。本書作者都是各自領域的專家,都是C#語言和.NET Framework愛好者。

C#入門經典

該書將全面介紹C#編程的所有知識,共分為5篇:第1篇是C#語言:介紹了C#語言的所有內容,從基礎知識到面向對象的技術,應有盡有。第2篇是Windows編程:介紹如何用C#編寫Windows應用程序,如何部署它們。第3篇是Web編程:描述Web應用程序的開發、Web服務和Web應用程序的部署。第4篇是數據訪問:介紹在應用程序中如何使用數據,包括存儲在硬碟文件上的數據、以XML格式存儲的數據和資料庫中的數據。第5篇是其他技術:講述使用C#和.NET Framework的一些額外方式,包括程序集、屬性、XML文檔、網路和GDI+圖形編程。

  該書適合於想學習使用.NET Framework編寫C#程序的初級讀者,也適合於已了解.NET 1.0,而想學習.NET 2.0和Visual Studio 2005最新功能的讀者。
圖書目錄

  第Ⅰ部分 C# 語 言

  第1章 C#簡介 3

  2.2.1 Solution Explorer 15

  2.2.2 Properties窗口 16

  2.2.3 Error List窗口 16

  2.3 Windows Forms應用程序 17

  2.4 小結 20

  第3章 變數和表達式 22

  3.1 C#的基本語法 22

  3.2 變數 26

  3.2.1 簡單類型 26

  3.2.2 變數的命名 30

  3.2.3 字面值 31

  3.2.4 變數的聲明和賦值 33

  3.3 表達式 34

  3.3.1 數學運算符 34

  3.3.2 賦值運算符 38

  3.3.3 運算符的優先順序 39

  3.3.4 命名空間 39

  3.4 小結 42

  3.5 練習 43

  第4章 流程式控制制44

  4.1 布爾邏輯 44

  4.1.1 位運算符 46

  4.1.2 布爾賦值運算符 50

  4.1.3 運算符的優先順序更新 51

  4.2 goto語句52

  4.3 分支 53

  4.3.1 三元運算符 53

  4.3.2 if語句 54

  4.3.3 switch語句 57

  4.4 循環 60

  4.4.1 do循環 61

  4.4.2 while循環 63

  4.4.3 for循環 65

  4.4.4 循環的中斷 69

  4.4.5 無限循環 70

  4.5 小結 71

  4.6 練習 71

  第5章 變數的更多內容 73

  5.1 類型轉換 73

  5.1.1 隱式轉換 73

  5.1.2 顯式轉換 75

  5.1.3 使用Convert命令進行顯式

  轉換 77

  5.2 複雜的變數類型 80

  5.2.1 枚舉 81

  5.2.2 結構 85

  5.2.3 數組87

  5.3 字元串的處理 94

  5.4 小結 98

  5.5 練習 98

  第6章 函數 100

  6.1 定義和使用函數 101

  6.1.1 返回值 102

  6.1.2 參數 104

  6.2 變數的作用域 111

  6.2.1 其他結構中變數的作用域 113

  6.2.2 參數和返回值與全局數據 115

  6.3 Main()函數 116

  6.4 結構函數 119

  6.5 函數的重載 120

  6.6 委託 121

  6.7 小結 124

  6.8 練習 124

  第7章 調試和錯誤處理 126

  7.1 Visual Studio中的調試 126

  7.1.1 非中斷(正常)模式下的調試 127

  7.1.2 中斷模式下的調試 134

  7.2 錯誤處理 143

  7.3 小結 149

  7.4 練習 150

  第8章 面向對象編程簡介 151

  8.1 什麼是面向對象編程 151

  8.1.1 什麼是對象 152

  8.1.2 所有的東西都是對象 154

  8.1.3 對象的生命周期 155

  8.1.4 靜態和實例類成員 156

  8.2 OOP技術 156

  8.2.1 介面 157

  8.2.2 繼承 158

  8.2.3 多態性 160

  8.2.4 對象之間的關係 161

  8.2.5 運算符重載 163

  8.2.6 事件 163

  8.2.7 引用類型和值類型 163

  8.3 Windows應用程序中的OOP 164

  8.4 小結 166

  8.5 練習 167

  第9章 定義類 168

  9.1 C#中的類定義 168

  9.2 System.Object 173

  9.3 構造函數和析構函數 174

  9.4 Visual Studio 2005中的OOP

  工具 178

  9.4.1 Class View窗口 178

  9.4.2 對象瀏覽器181

  9.4.3 添加類 182

  9.4.4 類圖 183

  9.5 類庫項目 184

  9.6 介面和抽象類 187

  9.7 結構類型 189

  9.8 小結 191

  9.9 練習 192

  第10章 定義類成員 193

  10.1 成員定義 193

  10.1.1 定義欄位 193

  10.1.2 定義方法 194

  10.1.3 定義屬性 195

  10.1.4 在類圖中添加成員 200

  10.1.5 重製成員 202

  10.2 類成員的其他議題 203

  10.2.1 隱藏基類方法 203

  10.2.2 調用重寫或隱藏的基類

  方法 205

  10.2.3 嵌套的類型定義 206

  10.3 介面的實現 207

  10.4 部分類定義 210

  10.5 示例應用程序 212

  10.5.1 規劃應用程序 212

  10.5.2 編寫類庫 213

  10.5.3 類庫的客戶應用程序 219

  10.6 小結 220

  10.7 練習 221

  第11章 集合、比較和轉換 222

  11.1 集合 222

  11.1.1 使用集合 223

  11.1.2 定義集合 229

  11.1.3 索引符 230

  11.1.4 給CardLib添加Cards集合 232

  11.1.5 關鍵字值集合和

  IDictionary 235

  11.1.6 迭代器 236

  11.1.7 深度複製 241

  11.1.8 給CardLib添加深度複製 243

  11.2 比較 245

  11.2.1 類型比較 245

  11.2.2 值比較 250

  11.3 轉換 266

  11.3.1 重載轉換運算符 266

  11.3.2 as運算符 267

  11.4 小結 268

  11.5 練習 269

  第12章 泛型 271

  12.1 泛型的概念 271

  12.2 使用泛型 272

  12.2.1 可空類型 272

  12.2.2 System.Collections. Generic

  命名空間 279

  12.3 定義泛型 288

  12.3.1 定義泛型類 288

  12.3.2 定義泛型介面 300

  12.3.3 定義泛型方法 300

  12.3.4 定義泛型委託 302

  12.4 小結 302

  12.5 練習 303

  第13章 其他OOP技術 304

  13.1 ::運算符和全局命名空間

  限定符 304

  13.2 定製異常 305

  13.3 事件 307

  13.3.1 什麼是事件 307

  13.3.2 使用事件 309

  13.3.3 定義事件 311

  13.4 擴展和使用CardLib 319

  13.5 小結 326

  13.6 練習 327

  第Ⅱ部分 Windows 編 程

  第14章 Windows編程基礎 331

  14.1 控制項 331

  14.1.1 屬性 332

  14.1.2 控制項的定位、停靠和對齊 333

  14.1.3 事件 334

  14.2 Button控制項336

  14.2.1 Button控制項的屬性 337

  14.2.2 Button控制項的事件 337

  14.3 Label和LinkLabel控制項339

  14.4 TextBox控制項340

  14.4.1 TextBox控制項的屬性 340

  14.4.2 TextBox控制項的事件 341

  14.5 RadioButton和CheckBox

  控制項 348

  14.5.1 RadioButton控制項的屬性 349

  14.5.2 RadioButton控制項的事件 349

  14.5.3 CheckBox控制項的屬性 349

  14.5.4 CheckBox控制項的事件 350

  14.5.5 GroupBox控制項 350

  14.6 RichTextBox控制項354

  14.6.1 RichTextBox控制項的屬性 354

  14.6.2 RichTextBox控制項的事件 355

  14.7 ListBox和CheckedListBox

  控制項 360

  14.7.1 ListBox控制項的屬性 360

  14.7.2 ListBox控制項的方法 361

  14.7.3 ListBox控制項的事件 362

  14.8 ListView控制項365

  14.8.1 ListView控制項的屬性 365

  14.8.2 ListView控制項的方法 367

  14.8.3 ListView控制項的事件 367

  14.8.4 ListViewItem 368

  14.8.5 ColumnHeader 368

  14.8.6 ImageList控制項 368

  14.9 TabControl控制項 375

  14.9.1 TabControl控制項的屬性 376

  14.9.2 使用TabControl控制項 376

  14.10 小結 378

  14.11 練習 379

  第15章 Windows Forms的高級功能 380

  15.1 菜單和工具欄380

  15.1.1 兩個實質一樣的控制項 380

  15.1.2 使用MenuStrip控制項 381

  15.1.3 手工創建菜單 381

  15.1.4 ToolStripMenuItem控制項的

  其他屬性 384

  15.1.5 給菜單添加功能 384

  15.2 工具欄 386

  15.2.1 ToolStrip控制項的屬性 387

  15.2.2 ToolStrip的項 387

  15.2.3 StatusStrip控制項 392

  15.2.4 StatusStripStatusLabel的

  屬性 392

  15.3 SDI和MDI應用程序 394

  15.4 創建控制項 403

  15.4.1 調試用戶控制項 409

  15.4.2 擴展LabelTextbox控制項 410

  15.5 小結 412

  15.6 練習 413

  第16章 使用通用對話框 414

  16.1 對話框 414

  16.2 如何使用對話框 415

  16.3 文件對話框 416

  16.3.1 OpenFileDialog 416

  16.3.2 SaveFileDialog 427

  16.4 列印 432

  16.4.1 列印結構 432

  16.4.2 列印多個頁面 437

  16.4.3 PageSetupDialog 439

  16.4.4 PrintDialog 442

  16.5 列印預覽 446

  16.5.1 PrintPreviewDialog 446

  16.5.2 PrintPreviewControl 446

  16.6 FontDialog和ColorDialog 447

  16.6.1 FontDialog 447

  16.6.2 ColorDialog 449

  16.6.3 FolderBrowserDialog 450

  16.7 小結 451

  16.8 練習 452

  第17章 部署Windows應用程序 453

  17.1 部署概述 453

  17.2 CLICKONCE 部署 454

  17.3 Visual Studio安裝和部署

  項目類型 463

  17.4 Microsoft Windows安裝

  程序結構 464

  17.4.1 Windows Installer術語 464

  17.4.2 Windows Installer的優點 466

  17.5 為Simple Editor創建安裝軟體包466

  17.5.1 規劃安裝內容 467

  17.5.2 創建項目 467

  17.5.3 項目屬性 468

  17.5.4 安裝編輯器470

  17.5.5 File System編輯器 471

  17.5.6 File Types編輯器 474

  17.5.7 Launch Condition編輯器 475

  17.5.8 User Interface編輯器 476

  17.6 構建項目 479

  17.7 安裝 479

  17.7.1 Welcome 480

  17.7.2 read me 481

  17.7.3 License Agreement 481

  17.7.4 Optional Files 481

  17.7.5 選擇安裝文件夾 482

  17.7.6 確認安裝 483

  17.7.7 進度 483

  17.7.8 結束安裝 484

  17.7.9 運行應用程序 484

  17.7.10 卸載484

  17.8 小結 484

  17.9 練習 485

  第Ⅲ部分 Web 編 程

  第18章 Web編程基礎489

  18.1 概述 489

  18.2 ASP .NET 運行庫490

  18.3 創建簡單的Web頁面 490

  18.4 伺服器控制項 496

  18.5 事件處理程序 497

  18.6 輸入的有效性驗證 502

  18.7 狀態管理 505

  18.7.1 客戶端的狀態管理 506

  18.7.2 伺服器端的狀態管理 508

  18.8 身份驗證和授權 510

  18.8.1 身份驗證的配置 511

  18.8.2 使用安全控制項 515

  18.9 讀寫SQL Server資料庫 517

  18.10 小結 525

  18.11 練習 525

  第19章 Web高級編程 526

  19.1 示例站點 526

  19.2 主頁 527

  19.3 站點導航 533

  19.4 用戶控制項 535

  19.5 個性化配置 537

  19.5.1 個性化配置組 538

  19.5.2 組件的個性化配置 539

  19.5.3 定製數據類型中的個性化配置 539

  19.5.4 匿名用戶的個性化配置 540

  19.6 Web Parts 541

  19.6.1 Web Parts管理器 542

  19.6.2 Web Parts區域 542

  19.6.3 Editor區域 544

  19.6.4 Catalog區域 546

  19.6.5 Connections區域 548

  19.7 小結 550

  19.8 練習 551

  第20章 Web服務 552

  20.1 Web服務推出之前 552

  20.1.1 遠程過程調用(RPC) 553

  20.1.2 SOAP 553

  20.2 使用Web服務的場合 554

  20.2.1 賓館旅行社代理應用程序 554

  20.2.2 書籍發布應用程序 555

  20.2.3 客戶應用程序的類型 555

  20.2.4 應用程序的體系結構 555

  20.3 Web服務的體系結構 556

  20.3.1 Web服務的搜索引擎 557

  20.3.2 可以調用的方法 558

  20.3.3 調用方法 559

  20.3.4 SOAP和防火牆561

  20.3.5 WS-I基本個性化配置 561

  20.4 Web服務和.NET Framework 561

  20.4.1 創建Web服務 561

  20.4.2 客戶程序 563

  20.5 創建一個簡單的ASP .NET

  Web服務 564

  20.5.1 生成的文件 564

  20.5.2 添加Web方法 565

  20.6 測試Web服務 566

  20.7 執行Windows客戶程序 567

  20.8 非同步調用服務 570

  20.9 執行ASP .NET客戶程序 572

  20.10 傳送數據 572

  20.11 小結 575

  20.12 練習 576

  第21章 部署Web應用程序 577

  21.1 Internet Information Services 577

  21.2 IIS配置 578

  21.3 複製Web站點 582

  21.4 預編譯Web站點 583

  21.5 Windows安裝程序 584

  21.5.1 創建安裝程序 584

  21.5.2 安裝Web 應用程序 586

  21.6 小結 588

  21.7 練習 589

  第Ⅳ部分 數 據 訪 問

  第22章 文件系統數據 593

  22.1 流 593

  22.2 用於輸入和輸出的類 594

  22.2.1 File和Directory類 595

  22.2.2 FileInfo類 596

  22.2.3 DirectoryInfo類 597

  22.2.4 filestream對象 598

  22.2.5 StreamWriter對象 604

  22.2.6 StreamReader對象 606

  22.2.7 讀寫壓縮文件 612

  22.3 串列化對象 616

  22.4 監控文件結構 620

  22.5 小結 626

  22.6 練習 627

  第23章 XML 628

  23.1 XML文檔 628

  23.1.1 XML元素 628

  23.1.2 屬性 629

  23.1.3 XML聲明 630

  23.1.4 XML文檔的結構 630

  23.1.5 XML命名空間 631

  23.1.6 格式良好並有效的XML 632

  23.1.7 驗證XML文檔 632

  23.2 在應用程序中使用XML 637

  23.2.1 XML文檔對象模型637

  23.2.2 選擇節點 646

  23.3 小結 654

  23.4 練習 654

  第24章 資料庫和ADO .NET655

  24.1 ADO .NET概述 655

  24.1.1 ADO .NET名稱的來源 655

  24.1.2 ADO .NET的設計目標 656

  24.2 ADO .NET類和對象概述 657

  24.2.1 提供者對象 658

  24.2.2 用戶對象 659

  24.2.3 使用System.Data命名空間 659

  24.3 安裝SQL Server和Northwind

  示例數據 660

  24.3.1 安裝SQL Express 661

  24.3.2 安裝Northwind示例

  資料庫 661

  24.4 用DataReader讀取數據 662

  24.5 用DataSet讀取數據 668

  24.5.1 用數據填充DataSet 668

  24.5.2 訪問DataSet中的表、行

  和列 668

  24.6 更新資料庫 671

  24.6.1 給資料庫添加行 675

  24.6.2 刪除行 681

  24.7 在DataSet中訪問多個表 683

  24.7.1 ADO .NET中的關係 683

  24.7.2 導航關係 684

  24.8 XML和ADO .NET 691

  24.9 ADO .NET中的SQL支持 694

  24.9.1 DataAdapter對象中的SQL

  命令 694

  24.9.2 直接執行SQL命令 697

  25.9.3 調用SQL存儲過程 699

  24.10 小結 701

  24.11 練習 702

  第25章 數據綁定 703

  25.1 安裝SQL Server和示例數據 703

  25.2 創建VS資料庫項目 703

  25.2.1 資料庫對象 706

  25.2.2 瀏覽資料庫表和關係 707

  25.3 給應用程序添加數據源 709

  25.4 添加DataGridView 715

  25.4.1 格式化DataGridView 716

  25.4.2 添加不同類型的控制項 718

  25.4.3 查看生成的代碼 719

  25.4.4 更新資料庫 720

  25.5 小結 721

  25.6 練習 721

  第Ⅴ部分 其 他 技 術

  第26章 .NET程序集 725

  26.1 組件 725

  26.1.1 組件的優點 726

  26.1.2 組件的簡史 726

  26.2 .NET程序集的功能 727

  26.2.1 自說明性 727

  26.2.2 .NET程序集和.NET

  Framework類庫 727

  26.2.3 跨語言的程序設計 728

  26.2.4 與COM和其他舊代碼的

  交互操作 728

  26.3 程序集的結構 729

  26.3.1 查看程序集的內容 731

  26.3.2 清單 734

  26.3.3 程序集屬性 737

  26.4 調用程序集 741

  26.5 私有和共享程序集 744

  26.5.1 私有程序集 744

  26.5.2 共享程序集 744

  26.5.3 搜索程序集 748

  26.6 小結 748

  26.7 練習 749

  第27章 屬性 750

  27.1 什麼是屬性 750

  27.2 反射 753

  27.3 內置屬性 756

  27.3.1 System.Diagnostics.Condi

  tionalAttribute 757

  27.3.2 System.ObsoleteAttribute 759

  27.3.3 System.SerializableAttribute 760

  27.3.4 System.Reflection.Assembly

  DelaySignAttribute 762

  27.4 定製屬性 766

  27.4.1 TestCaseAttribute 766

  27.4.2 System.AttributeUsage

  Attribute 770

  27.4.3 使用屬性生成資料庫表 776

  27.5 小結 790

  第28章 XML文檔說明 791

  28.1 添加XML文檔說明 791

  28.1.1 XML文檔說明的註釋 793

  28.1.2 使用類圖添加XML文檔

  說明 799

  28.1.3 生成XML文檔說明文件 802

  28.1.4 帶有XML文檔說明的應用

  程序示例 805

  28.2 使用XML文檔說明 807

  28.2.1 編程處理XML文檔說明 807

  28.2.2 用XSLT格式化XML

  文檔說明 809

  28.2.3 NDoc 810

  28.3 小結 811

  28.4 練習 811

  第29章 網路 812

  29.1 聯網概述 812

  29.1.1 名稱的解析 814

  29.1.2 統一資源標識符816

  29.1.3 TCP和UDP 817

  29.1.4 應用協議 817

  29.2 網路編程選項 818

  29.3 WebClient 819

  29.4 WebRequest和WebResponse 821

  29.5 TcpListener和TcpClient 828

  29.6 小結 835

  29.7 練習 836

  第30章 GDI+簡介 837

  30.1 圖形繪製概述 837

  30.1.1 Graphics類 838

  30.1.2 對象的刪除 838

  30.1.3 坐標系統839

  30.1.4 顏色 846

  30.2 使用Pen類繪製線條 847

  30.3 使用Brush 類繪製圖形 849

  30.4 使用Font 類繪製文本 851

  30.5 使用圖像進行繪製 855

  30.5.1 使用紋理畫筆進行繪圖 857

  30.5.2 使用鋼筆繪製圖像 858

  30.5.3 雙倍緩衝 860

  30.6 GDI+的高級功能 862

  30.6.1 剪切 862

  30.6.2 System.Drawing.Drawing2D 863

  30.6.3 System.Drawing.Imaging 864

  30.7 小結 864

  30.8 練習 864

2 C#入門經典 -C#入門經典第4版

內容簡介

  

C#入門經典

《C#入門經典(第4版)》通過C#可以很容易地學習.NET Framework 3.5的強大功能,所以C#是開始您編程生涯的絕佳方式。《C#入門經典(第4版)》全面闡述了C#編程的所有方面,包括C#語言本身、Windows編程、Web編程及數據源的使用等內容。

  學習了新的編程技巧后,《C#入門經典(第4版)》介紹了如何高效地部署應用程序和服務,論述了許多高級技術,如圖形化編程。另外,還探討了如何使用Visual C# Express 2008、Visual Web Developer Express 2008和Visual Studio 2008的功能。所有這些內容都已更新,以反映.NET Framework 3.5和Visual Studio 2008的變化。各章的樣例代碼和示例還可以用於創建強大且安全的應用程序。

  《C#入門經典(第4版)》語言簡練,條理清晰,涵蓋了Visual C# 2008和.NET Framework 3.5的全部內容。通過學習《C#入門經典(第4版)》,您將能夠快速入門,輕鬆開發出自己的應用程序。

  《C#入門經典(第4版)》主要內容

  C#的所有基礎知識和面向對象編程

  通過C#語言編寫和部署Windows應用程序

  開發定製的Web應用程序和利用Web服務的技巧

  數據訪問技術,包括使用LINQ處理XML數據

  通過單擊按鈕將應用程序發布到Web上

  使用Windows Presentation Foundation、Windows Workflow Foundation、Windows Communication Foundation、GDI+和聯網等其他技術

  《C#入門經典(第4版)》讀者對象

  《C#入門經典(第4版)》適合於想學習使用.NET Framework編寫C#程序的讀者,也適合於已了解.NET,又想學習.NET 3.5或Visual Studio 2008最新功能的讀者。
圖書推薦

  《C#入門經典(第4版)》是一本成就無數C#程序員的經典名著,厚而不「重」,可幫助您輕鬆掌握C#的各種編程知識,為您的職業生涯打下堅實的基礎,《C#入門經典》自第1版出版以來,全球銷量已經達數萬冊,在中國也有近8萬冊的銷量,已經成為廣大初級C#程序員首選的入門教程,也是目前國內市場上最暢銷的C#專業店銷書,曾兩次被CSDN、《程序員》等機構和讀者評選為「最受讀者喜愛的十大技術開發類圖書」!第4版面向C#2008和.NET 3.5 繼續完善原有內容,同時全面介紹.NET的最新技術和特性。

  Wrox暢銷書!C#經典名著!2005年最杈威的十大IT圖書!2 006年最受讀者喜愛的十大技術開發類圖書!2008年全國高校出版社優秀銷書一等獎!2006~2008年最暢銷的 C#入門教程!

作者簡介

  作者:(美國)karli Watson (美國)Christian Nagel 譯者:齊立波 黃靜

  齊立波,計算機專業碩士、大學講師,一直從事C/C++和C#程序設計方面的教學與科研工作,曾參與編寫多本計算機教材,並為一些軟體公司翻譯過大量的技術文檔。

  黃靜,計算機專業博士,在程序設計、軟體工程和網路安全等方面有著多年的研究和實戰經驗,曾為NET技術在國內的推廣作出了重要貢獻,翻譯和發表了多篇有關.NET的技術文檔和文章。

目錄

  第Ⅰ部分 C# 語 言

  第1章 C#簡介 3

  1.1 什麼是.NET Framework 3

  1.1.1 NET Framework的內容 4

  1.1.2 用.NET Framework編寫應用程序 4

  1.2 什麼是C# 7

  1.2.1 用C#能編寫什麼樣的應用程序 7

  1.2.2 本書中的C# 8

  1.3 Visual Studio 2008 8

  1.3.1 Visual Studio 2008 Express 產品 9

  1.3.2 解決方案 9

  1.4 小結 9

  第2章 編寫C#程序 10

  2.1 開發環境 10

  2.1.1 Visual Studio 2008 11

  2.1.2 Visual C# 2008 ExpressEdition 13

  2.2 控制台應用程序 13

  2.2.1 Solution Explorer 16

  2.2.2 Properties窗口 17

  2.2.3 Error List窗口 17

  2.3 Windows Forms應用程序 18

  2.4 小結 22

  第3章 變數和表達式 23

  3.1 C#的基本語法 23

  3.2 C#控制台應用程序的基本結構 25

  3.3 變數 27

  3.3.1 簡單類型 27

  3.3.2 變數的命名 31

  3.3.3 字面值 32

  3.3.4 變數的聲明和賦值 33

  3.4 表達式 34

  3.4.1 數學運算符 34

  3.4.2 賦值運算符 38

  3.4.3 運算符的優先順序 39

  3.4.4 名稱空間 39

  3.5 小結 42

  3.6 練習 43

  第4章 流程式控制制 44

  4.1 布爾邏輯 44

  4.1.1 位運算符 46

  4.1.2 布爾賦值運算符 50

  4.1.3 運算符的優先順序更新 51

  4.2 goto語句 52

  4.3 分支 53

  4.3.1 三元運算符 53

  4.3.2 if語句 54

  4.3.3 switch語句 57

  4.4 循環 60

  4.4.1 do循環 61

  4.4.2 while循環 63

  4.4.3 for循環 65

  4.4.4 循環的中斷 69

  4.4.5 無限循環 70

  4.5 小結 70

  4.6 練習 71

  第5章 變數的更多內容 72

  5.1 類型轉換 72

  5.1.1 隱式轉換 72

  5.1.2 顯式轉換 74

  5.1.3 使用Convert命令進行 顯式轉換 76

  5.2 複雜的變數類型 79

  5.2.1 枚舉 79

  5.2.2 結構 83

  5.2.3 數組 86

  5.3 字元串的處理 91

  5.4 小結 95

  5.5 練習 96

  第6章 函數 97

  6.1 定義和使用函數 98

  6.1.1 返回值 99

  6.1.2 參數 101

  6.2 變數的作用域 107

  6.2.1 其他結構中變數的作用域 110

  6.2.2 參數和返回值與全局數據 111

  6.3 Main()函數 113

  6.4 結構函數 114

  6.5 函數的重載 115

  6.6 委託 117

  6.7 小結 119

  6.8 練習 120

  第7章 調試和錯誤處理 121

  7.1 VS和VCE中的調試 121

  7.1.1 非中斷(正常)模式下的調試 122

  7.1.2 中斷模式下的調試 131

  7.2 錯誤處理 139

  7.2.1 try...catch...finally 140

  7.2.2 列出和配置異常 144

  7.2.3 異常處理的注意事項 145

  7.3 小結 146

  7.4 練習 146

  第8章 面向對象編程簡介 147

  8.1 什麼是面向對象編程 147

  8.1.1 什麼是對象 148

  8.1.2 所有的東西都是對象 151

  8.1.3 對象的生命周期 151

  8.1.4 靜態和實例類成員 152

  8.2 OOP技術 153

  8.2.1 介面 153

  8.2.2 繼承 155

  8.2.3 多態性 156

  8.2.4 對象之間的關係 157

  8.2.5 運算符重載 159

  8.2.6 事件 159

  8.2.7 引用類型和值類型 160

  8.3 Windows應用程序中的OOP 160

  8.4 小結 162

  8.5 練習 163

  第9章 定義類 164

  9.1 C#中的類定義 164

  9.2 System.Object 169

  9.3 構造函數和析構函數 170

  9.4 VS和VCE中的OOP工具 174

  9.4.1 Class View窗口 174

  9.4.2 對象瀏覽器 176

  9.4.3 添加類 177

  9.4.4 類圖 177

  9.5 類庫項目 179

  9.6 介面和抽象類 182

  9.7 結構類型 184

  9.8 小結 186

  9.9 練習 186

  第10章 定義類成員 187

  10.1 成員定義 187

  10.1.1 定義欄位 187

  10.1.2 定義方法 188

  10.1.3 定義屬性 189

  10.1.4 在類圖中添加成員 194

  10.1.5 重製成員 196

  10.1.6 自動屬性 197

  10.2 類成員的其他議題 197

  10.2.1 隱藏基類方法 198

  10.2.2 調用重寫或隱藏的基類方法 199

  10.2.3 嵌套的類型定義 200

  10.3 介面的實現 201

  10.4 部分類定義 204

  10.5 部分方法定義 206

  10.6 示例應用程序 207

  10.6.1 規劃應用程序 207

  10.6.2 編寫類庫 208

  10.6.3 類庫的客戶應用程序 214

  10.7 小結 215

  10.8 練習 216

  第11章 集合、比較和轉換 217

  11.1 集合 217

  11.1.1 使用集合 218

  11.1.2 定義集合 224

  11.1.3 索引符 225

  11.1.4 給CardLib添加Cards集合 227

  11.1.5 關鍵字值集合和IDictionary 229

  11.1.6 迭代器 231

  11.1.7 深度複製 236

  11.1.8 給CardLib添加深度複製 238

  11.2 比較 239

  11.2.1 類型比較 240

  11.2.2 值比較 244

  11.3 轉換 259

  11.3.1 重載轉換運算符 259

  11.3.2 as運算符 260

  11.4 小結 261

  11.5 練習 262

  第12章 泛型 263

  12.1 泛型的概念 263

  12.2 使用泛型 264

  12.2.1 可空類型 264

  12.2.2 System.Collections.Generic 名稱空間 271

  12.3 定義泛型 279

  12.3.1 定義泛型類 280

  12.3.2 定義泛型介面 291

  12.3.3 定義泛型方法 291

  12.3.4 定義泛型委託 293

  12.4 小結 293

  12.5 練習 293

  第13章 其他OOP技術 295

  13.1 ::運算符和全局名稱空間

  13.2 定製異常 296

  13.2.1 異常基類 297

  13.2.2 給CardLib添加定製異常 297

  13.3 事件 298

  13.3.1 什麼是事件 298

  13.3.2 使用事件 300

  13.3.3 定義事件 302

  13.4 擴展和使用CardLib 309

  13.5 小結 317

  13.6 練習 317

  第14章 C# 3.0語言的改進 318

  14.1 初始化器 318

  14.1.1 對象初始化器 319

  14.1.2 集合初始化器 320

  14.2 類型推斷 323

  14.3 匿名類型 325

  14.4 擴展方法 328

  14.5 ?表達式 333

  14.5.1 複習匿名方法 333

  14.5.2 把?表達式用於匿名方法 334

  14.5.3 ?表達式的參數 337

  14.5.4 ?表達式的語句體 337

  14.5.5 ?表達式用作委託和表達式樹 338

  14.5.6 ?表達式和集合 339

  14.6 小結 342

  14.7 練習 342

  第Ⅱ部分 Windows 編 程

  第15章 Windows編程基礎 347

  15.1 控制項 347

  15.1.1 屬性 348

  15.1.2 控制項的定位、停靠和對齊 349

  15.1.3 事件 350

  15.2 Button控制項 352

  15.2.1 Button控制項的屬性 352

  15.2.2 Button控制項的事件 353

  15.3 Label和LinkLabel控制項 354

  15.4 TextBox控制項 355

  15.4.1 TextBox控制項的屬性 355

  15.4.2 TextBox控制項的事件 356

  15.5 RadioButton和CheckBox控制項 363

  15.5.1 RadioButton控制項的屬性 364

  15.5.2 RadioButton控制項的事件 364

  15.5.3 CheckBox控制項的屬性 364

  15.5.4 CheckBox控制項的事件 364

  15.5.5 GroupBox控制項 365

  15.6 RichTextBox控制項 368

  15.6.1 RichTextBox控制項的屬性 368

  15.6.2 RichTextBox控制項的事件 369

  15.7 ListBox和CheckedListBox控制項 374

  15.7.1 ListBox控制項的屬性 375

  15.7.2 ListBox控制項的方法 376

  15.7.3 ListBox控制項的事件 376

  15.8 ListView控制項 378

  15.8.1 ListView控制項的屬性 378

  15.8.2 ListView控制項的方法 380

  15.8.3 ListView控制項的事件 381

  15.8.4 ListViewItem 381

  15.8.5 ColumnHeader 381

  15.8.6 ImageList控制項 381

  15.9 TabControl控制項 388

  15.9.1 TabControl控制項的屬性 389

  15.9.2 使用TabControl控制項 389

  15.10 小結 392

  15.11 練習 392

  第16章 Windows Forms的高級功能 393

  16.1 菜單和工具欄 393

  16.1.1 兩個實質一樣的控制項 393

  16.1.2 使用MenuStrip控制項 394

  16.1.3 手工創建菜單 394

  16.1.4 ToolStripMenuItem控制項的其他屬性 397

  16.1.5 給菜單添加功能 397

  16.2 工具欄 399

  16.2.1 ToolStrip控制項的屬性 399

  16.2.2 ToolStrip的項 400

  16.2.3 StatusStrip控制項 405

  16.2.4 StatusStripStatusLabel的屬性 405

  16.3 SDI和MDI應用程序 407

  16.4 創建控制項 415

  16.4.1 LabelTextbox控制項 417

  16.4.2 調試用戶控制項 420

  16.4.3 擴展LabelTextbox控制項 421

  16.5 小結 424

  16.6 練習 424

  第17章 使用通用對話框 425

  17.1 通用對話框 425

  17.2 如何使用對話框 426

  17.3 文件對話框 427

  17.3.1 OpenFileDialog 427

  17.3.2 SaveFileDialog 438

  17.4 列印 442

  17.4.1 列印結構 442

  17.4.2 列印多個頁面 447

  17.4.3 PageSetupDialog 449

  17.4.4 PrintDialog 451

  17.5 列印預覽 455

  17.5.1 PrintPreviewDialog 455

  17.5.2 PrintPreviewControl 456

  17.6 FontDialog和ColorDialog 457

  17.6.1 FontDialog 457

  17.6.2 ColorDialog 459

  17.6.3 FolderBrowserDialog 460

  17.7 小結 461

  17.8 練習 461

  第18章 部署Windows應用程序 463

  18.1 部署概述 463

  18.2 ClickOnce部署 464

  18.3 Visual Studio安裝和部署項目類型 473

  18.4 Microsoft Windows安裝程序結構 474

  18.4.1 Windows Installer術語 474

  18.4.2 Windows Installer的優點 476

  18.5 為SimpleEditor創建安裝軟體包 476

  18.5.1 規劃安裝內容 476

  18.5.2 創建項目 477

  18.5.3 項目屬性 478

  18.5.4 安裝編輯器 480

  18.5.5 File System編輯器 481

  18.5.6 File Types編輯器 483

  18.5.7 Launch Condition編輯器 485

  18.5.8 User Interface編輯器 485

  18.6 構建項目 488

  18.7 安裝 489

  18.7.1 Welcome 489

  18.7.2 Read Me 489

  18.7.3 License Agreement 490

  18.7.4 Optional Files 490

  18.7.5 選擇安裝文件夾 491

  18.7.6 確認安裝 492

  18.7.7 進度 492

  18.7.8 結束安裝 493

  18.7.9 運行應用程序 493

  18.7.10 卸載 493

  18.8 小結 493

  18.9 練習 494

  第Ⅲ部分 Web 編 程

  第19章 Web編程基礎 497

  19.1 概述 497

  19.2 ASP .NET運行庫 498

  19.3 創建簡單的Web頁面 498

  19.4 伺服器控制項 504

  19.5 事件處理程序 505

  19.6 輸入的有效性驗證 509

  19.7 狀態管理 512

  19.7.1 客戶端的狀態管理 513

  19.7.2 伺服器端的狀態管理 515

  19.8 身份驗證和授權 517

  19.8.1 身份驗證的配置 518

  19.8.2 使用安全控制項 522

  19.9 讀寫SQL Server資料庫 524

  19.10 小結 530

  19.11 練習 531

  第20章 Web高級編程 532

  20.1 母版頁 532

  20.2 站點導航 537

  20.3 用戶控制項 539

  20.4 個性化配置 541

  20.4.1 個性化配置組 543

  20.4.2 組件的個性化配置 543

  20.4.3 定製數據類型中的個性化配置 543

  20.4.4匿名用戶的個性化配置 544

  20.5 Web Parts 545

  20.5.1 WebPartManager控制項 546

  20.5.2 WebPartZone控制項 546

  20.5.3 EditorZone控制項 548

  20.5.4 CatalogZone控制項 550

  20.5.5 ConnectionsZone控制項 551

  20.6 JavaScript 554

  20.6.1 Script元素 555

  20.6.2 變數的聲明 555

  20.6.3 定義函數 555

  20.6.4 語句 556

  20.6.5 對象 556

  20.7 小結 560

  20.8 練習 560

  第21章 Web服務 561

  21.1 Web服務推出之前 561

  21.1.1 遠程過程調用(RPC) 562

  21.1.2 SOAP 563

  21.2 使用Web服務的場合 563

  21.2.1 賓館旅行社代理應用程序 564

  21.2.2 圖書發布應用程序 564

  21.2.3 客戶應用程序的類型 564

  21.2.4 應用程序的體系結構 564

  21.3 Web服務的體系結構 565

  21.3.1 可以調用的方法 565

  21.3.2 調用方法 566

  21.3.3 SOAP和防火牆 567

  21.3.4 WS-I基本個性化配置 568

  21.4 Web服務和.NET Framework 568

  21.4.1 創建Web服務 568

  21.4.2 客戶程序 570

  21.5 創建簡單的ASP .NET Web服務 571

  21.6 測試Web服務 572

  21.7 執行Windows客戶程序 574

  21.8 非同步調用服務 577

  21.9 執行ASP .NET客戶程序 580

  21.10 傳送數據 581

  21.11 小結 584

  21.12 練習 584

  第22章 Ajax編程 586

  22.1 Ajax概述 586

  22.2 UpdatePanel控制項 587

  22.3 Timer控制項 591

  22.4 UpdateProgress控制項 592

  22.5 Web服務 594

  22.6 擴展控制項 598

  22.7 小結 600

  22.8 練習 600

  第23章 部署Web應用程序 601

  23.1 Internet Information Services 601

  23.2 IIS配置 602

  23.3 複製Web站點 604

  23.4 發布Web站點 606

  23.5 Windows安裝程序 607

  23.5.1 創建安裝程序 607

  23.5.2 安裝Web 應用程序 609

  23.6 小結 610

  23.7 練習 610

  第Ⅳ部分 數 據 訪 問

  第24章 文件系統數據 613

  24.1 流 613

  24.2 用於輸入和輸出的類 614

  24.2.1 File類和Directory類 615

  24.2.2 FileInfo類 616

  24.2.3 DirectoryInfo類 617

  24.2.4 路徑名和相對路徑 618

  24.2.5 FileStream對象 618

  24.2.6 StreamWriter對象 624

  24.2.7 StreamReader對象 626

  24.2.8 讀寫壓縮文件 632

  24.3 序列化對象 635

  24.4 監控文件結構 639

  24.5 小結 645

  24.6 練習 646

  第25章 XML 647

  25.1 XML文檔 647

  25.1.1 XML元素 647

  25.1.2 屬性 648

  25.1.3 XML聲明 649

  25.1.4 XML文檔的結構 649

  25.1.5 XML名稱空間 650

  25.1.6 格式良好並有效的XML 651

  25.1.7 驗證XML文檔 651

  25.2 在應用程序中使用XML 654

  25.2.1 XML文檔對象模型 655

  25.2.2 選擇節點 663

  25.3 小結 670

  25.4 練習 671

  第26章 LINQ簡介 672

  26.1 LINQ的變體 673

  26.2 第一個LINQ查詢 673

  26.2.1 用var關鍵字聲明結果變數 675

  26.2.2 指定數據源:from子句 675

  26.2.3 指定條件:where子句 675

  26.2.4 指定元素:select子句 676

  26.2.5 完成:使用foreach循環 676

  26.2.6 延遲執行的查詢 676

  26.3使用LINQ方法語法和?表達式 676

  26.3.1 LINQ擴展方法 676

  26.3.2 查詢語法和方法語法 677

  26.3.3 ?表達式 677

  26.4 排序查詢結果 679

  26.5 orderby子句 680

  26.6 用方法語法排序 681

  26.7 查詢大型數據集 682

  26.8 合計運算符 685

  26.9 查詢複雜的對象 688

  26.10 投射:在查詢中創建新對象 691

  26.11 投射:方法語法 693

  26.12 單值選擇查詢 693

  26.13 Any和All 694

  26.14 多級排序 696

  26.15 多級排序方法語法:ThenBy 698

  26.16 組合查詢 698

  26.17 Take和Skip 700

  26.18 First和FirstOrDefault 702

  26.19 集運算符 703

  26.20 Join查詢 706

  26.21 資源和進一步閱讀 707

  26.22 小結 707

  26.23 練習 707

  第27章 LINQ to SQL 709

  27.1 對象相關映射 709

  27.2 安裝SQL Server和Northwind示例數據 710

  27.2.1 安裝SQL Server Express2005 710

  27.2.2 安裝Northwind示例資料庫 711

  27.3 第一個LINQ to SQL查詢 712

  27.4 瀏覽LINQ to SQL關係 717

  27.5 進一步探討LINQ to SQL 720

  27.6 LINQ to SQL中的組合、排序和其他高級查詢 723

  27.7 顯示生成的SQL 725

  27.8 用LINQ to SQL綁定數據 729

  27.9 用LINQ to SQL更新綁定數據 733

  27.10 小結 734

  27.11 練習 735

  第28章 ADO .NET和LINQ over DataSet 736

  28.1 ADO .NET概述 736

  28.1.1 ADO .NET名稱的來源 737

  28.1.2 ADO .NET的設計目標 738

  28.2 ADO .NET類和對象概述 739

  28.2.1 提供者對象 739

  28.2.2 用戶對象 740

  28.2.3 使用System.Data名稱空間 741

  28.3 用DataReader讀取數據 742

  28.4 用DataSet讀取數據 749

  28.4.1 用數據填充DataSet 749

  28.4.2 訪問DataSet中的表、行和列 749

  28.5 更新資料庫 752

  28.5.1 給資料庫添加行 755

  28.5.2 刪除行 761

  28.6 在DataSet中訪問多個表 762

  28.6.1 ADO .NET中的關係 762

  28.6.2 用關係導航 763

  28.7 XML和ADO .NET 770

  28.8 ADO .NET中的SQL支持 773

  28.8.1 DataAdapter對象中的 SQL命令 773

  28.8.2 直接執行SQL命令 776

  28.8.3 調用SQL存儲過程 778

  28.9 使用LINQ over DataSet和ADO .NET 780

  28.10 小結 784

  28.11 練習 784

  第29章 LINQ to XML 785

  29.1 LINQ to XML函數構造方法 785

  29.2 保存和載入XML文檔 789

  29.2.1 從字元串中載入XML 791

  29.2.2 已保存的XML文檔內容 792

  29.3 處理XML片段 792

  29.4 通過LINQ to XML生成 XML 794

  29.5 查詢XML文檔 798

  29.6 小結 804

  29.7 練習 804

  第Ⅴ部分 其 他 技 術

  第30章 屬性 809

  30.1 什麼是屬性 809

  30.2 反射 812

  30.3 內置屬性 815

  30.3.1 System.Diagnostics.ConditionalAttribute 815

  30.3.2 System.Obsolete Attribute 817

  30.3.3 System.Serializable

  Attribute 818

  30.3.4 System.Reflection.AssemblyDelaySignAttribute 821

  30.4 定製屬性 824

  30.4.1 BugFixAttribute 824

  30.4.2 System.AttributeUsageAttribute 826

  30.5 小結 830

  第31章 XML文檔說明 831

  31.1 添加XML文檔說明 831

  31.1.1 XML文檔說明的註釋 833

  31.1.2 使用類圖添加XML文檔說明 839

  31.1.3 生成XML文檔說明文件 842

  31.1.4 帶有XML文檔說明的應用程序示例 844

  31.2 使用XML文檔說明 846

  31.2.1 編程處理XML文檔說明 846

  31.2.2 用XSLT格式化XML文檔說明 848

  31.2.3 文檔說明工具 849

  31.3 小結 850

  31.4 練習 851

  第32章 網路 852

  32.1 聯網概述 852

  32.1.1 名稱的解析 855

  32.1.2 統一資源標識符 856

  32.1.3 TCP和UDP 857

  32.1.4 應用協議 857

  32.2 網路編程選項 859

  32.3 WebClient 859

  32.4 WebRequest和WebResponse 861

  32.5 TcpListener和TcpClient 868

  32.6 小結 876

  32.7 練習 876

  第33章 GDI+簡介 877

  33.1 圖形繪製概述 877

  33.1.1 Graphics類 878

  33.1.2 對象的刪除 878

  33.1.3 坐標系統 879

  33.1.4 顏色 884

  33.2 使用Pen類繪製線條 885

  33.3 使用Brush類繪製圖形 887

  33.4 使用Font 類繪製文本 890

  33.5 使用圖像進行繪製 893

  33.5.1 使用紋理畫筆繪圖 895

  33.5.2 使用鋼筆繪製圖像 897

  33.5.3 雙倍緩衝 898

  33.6 GDI+的高級功能 900

  33.6.1 剪切 900

  33.6.2 System.Drawing.Drawing2D 901

  33.6.3 System.Drawing.Imaging 901

  33.7 小結 901

  33.8 練習 902

  第 34 章 Windows Presentation Foundation 903

  34.1 WPF的概念 904

  34.1.1 WPF給設計人員帶來的好處 904

  34.1.2 WPF給C#開發人員帶來的好處 906

  34.2 基本WPF應用程序的組成 906

  34.3 WPF基礎 916

  34.3.1 XAML語法 917

  34.3.2 桌面和Web應用程序 919

  34.3.3 Application對象 920

  34.3.4 控制項基 920

  34.3.5 控制項的布局 928

  34.3.6 控制項的樣式 936

  34.3.7 觸發器 941

  34.3.8 動畫 942

  34.3.9 靜態和動態資源 944

  34.4 用WPF編程 949

  34.4.1 WPF用戶控制項 950

  34.4.2 實現依賴屬性 950

  34.5 小結 959

  34.6 練習 960

  第35 章 Windows Communication Foundation 961

  35.1 WCF是什麼 961

  35.2 WCF概念 962

  35.2.1 WCF通信協議 962

  35.2.2 地址、端點和綁定 963

  35.2.3 合同 964

  35.2.4 消息模式 965

  35.2.5 行為 965

  35.2.6 主機 965

  35.3 WCF編程 966

  35.3.1 定義WCF服務合同 973

  35.3.2 自存儲的WCF服務 979

  35.4 小結 985

  35.5 練習 986

  第36章 Windows Workflow Foundation 987

  36.1 活動 990

  36.1.1 DelayActivity 990

  36.1.2 SuspendActivity 991

  36.1.3 WhileActivity 992

  36.1.4 SequenceActivity 994

  36.1.5 定製活動 997

  36.2 工作流運行庫 1002

  36.3 數據綁 1007

  36.4 小結 1010

序言

  C#是Microsoft在2000年7月推出.NET Framework的第1版時提供的一種全新語言。C#的快速流行,使之成為使用.NET Framework的Windows和Web開發人員無可爭議的語言選擇。他們喜歡C#的一個原因是其派生於C/C++的簡潔語法,這種語法簡化了以前困擾一些程序員的問題。儘管做了這些簡化,但C#仍保持了C++原來的功能,所以現在沒有理由不從C++轉向C#。C#語言並不難,也非常適合於學習基本編程技術。易於學習,再加上.NET Framework的功能,使C#成為開始您編程生涯的絕佳方式。

  C#的最新版本3.0是.NET Framework 3.5的一部分,它建立在已有的成功基礎之上,還添加了一些更吸引人的功能。其中一些功能取自於C++(至少從表面上看是這樣),而另外一些功能是全新的。Visual Studio的最新版本和開發工具的Express系列也有許多變化和改進,這大大簡化了編程,顯著提高了效率。

  本書將全面介紹C#編程的所有知識,從該語言本身一直到Windows和Web編程,再到數據源的使用,最後是一些高級技術,例如,圖形編程。我們還將學習Visual C# Express 2008、Visual Web Developer Express 2008和Visual Studio 2008的功能和利用它進行應用程序開發的各種方式。本書界面友好,闡述清晰,每一章都以前面章節的內容為基礎,便於讀者掌握高級技術。每個概念都會根據需要來介紹和討論,而不會突然冒出某個技術術語來妨礙讀者的閱讀和理解。本書盡量不使用技術術語,但如果需要,將根據上下文進行正確的定義和布置。

  本書的作者都是各自領域的專家,都是C#語言和.NET Framework的愛好者,沒有人比他們更有資格講授C#了,他們將在您掌握從基本規則到高級技術的過程中為您保駕護航。除了基礎知識之外,本書還有許多有益的提示、練習、完全成熟的示例代碼(可以從p2p.wrox. com上下載),在您的職業生涯中一定會用到它們。

  本書將毫無保留地傳授這些知識,希望讀者能通過本書成為最優秀的程序員。

  0.1 本書讀者對象

  本書主要針對想學習如何使用.NET Framework編寫C#程序的所有人。本書前面的章節介紹該語言本身,讀者不需要具備任何編程經驗。以前對其他語言有一定了解的開發人員,會覺得這些章節的內容非常熟悉。C#語法的許多方面都與其他語言相同,許多結構對所有的編程語言來說都是一樣的(例如,循環和分支結構)。但是,即使是有經驗的程序員也可以從這些章節中獲益,理解這些技術應用於C#的特徵。

  如果讀者是編程新手,就應從頭開始學習。如果讀者對.NET Framework比較陌生,但知道如何編程,就應閱讀第1章,然後快速跳讀後面的幾章,這樣就能掌握C#語言的應用方式了。如果讀者知道如何編程,但以前沒有接觸過面向對象的編程語言,就應從第8章開始閱讀以後的章節。

  如果讀者對C#語言比較了解,就可以集中精力學習詳細論述最新.NET Framework和C#語言開發的章節,尤其是集合、泛型和C# 3.0語言的新增內容(第11~14章),或者完全跳過本書的第I部分,從第15章開始學習。

  本書章節的編寫目的有兩個:這些章節可以按順序閱讀,是C#語言的一個完整教程。還可以按照需要深入學習這些章節,將其作為一本參考資料。

  除了核心內容之外,每一章還包含一組練習,完成這些練習有助於讀者理解所學習的內容。練習包括簡單的選擇題、判斷題以及需要修改或建立應用程序的較難問題。

  0.2 本書結構

  本書分為6個部分。

  ● 引言:概述本書的內容和作者。

  ● C#語言:介紹了C#語言的所有內容,從基礎知識到面向對象的技術,應有盡有。

  ● Windows編程:介紹如何用C#編寫Windows應用程序,如何部署它們。

  ● Web編程:描述Web應用程序的開發、Web服務和Web應用程序的部署。

  ● 數據訪問:介紹在應用程序中如何使用數據,包括存儲在硬碟文件上的數據、以XML格式存儲的數據和資料庫中的數據。

  ● 其他技術:講述使用C#和.NET Framework的一些額外方式,包括屬性、XML文檔說明、網路和GDI+圖形編程。還探討了由.NET 3.0引入且由.NET 3.5改進的WPF、WCF和WF技術。

  下面介紹本書5個重要部分中的章節。

  0.2.1 C#語言(第1~~14章)

  第1章介紹C#以及它與.NET的關係,了解在這個環境下編程的基礎知識,以及Visual C# Express(VCE)和VS與它的關係。

  第2章開始介紹C#應用程序開發,學習C#的語法,並把C#和樣例命令行、Windows應用程序結合起來使用。這些示例將說明C#如何快速輕鬆地啟動和運行,並附帶介紹VCE和VS開發環境以及本書將使用的基本窗口和工具。

  接著,第3章學習C#語言的更多基礎知識,理解變數的含義以及如何操縱它們。第4章將用流程式控制制(循環和分支)改進應用程序的結構,第5章介紹一些高級的變數類型,如數組。第6章開始以函數的形式封裝代碼,這樣就更易於執行重複的操作,代碼更容易理解。

  從第7章開始將運用C#語言的基礎知識,調試應用程序,這包括在運行應用程序時輸出跟蹤信息,使用VS查找錯誤,在強大的調試環境中找出解決問題的辦法。

  第8章將學習面向對象編程(Object-Oriented Programming,OOP)。首先了解這個術語的含義,回答"什麼是對象?"。這個OOP初看起來是比較難的問題。我們將用整整一章的篇幅來介紹它,解釋對象的強大之處。直到本章的最後才會使用C#代碼。

  第9章將理論應用於實踐,開始在C#應用程序中使用OOP時,一切都會發生變化,而這正是C#的強大之處。第10章首先介紹如何定義類和介面,然後探討類成員(包括欄位、屬性和方法),在這一章的最後將開始創建一個撲克牌遊戲應用程序,這個應用程序將在幾章中開發完成,它非常有助於理解OOP。

  學習了OOP在C#中的工作原理后,第11章將介紹幾種常見的OOP場景,包括處理對象集合、比較和轉換對象。第12章討論.NET 2.0中C#的一個非常有用的新特性——泛型,利用它可以創建非常靈活的類。第13章通過一些其他技術和事件(它在Windows編程中非常重要)完成C#語言和OOP的討論。最後,第14章介紹C# 3.0中引入的新特性。

  0.2.2 Windows編程(第15~~18章)

  第15章開始介紹Windows編程的概念,理解在VCE和VS中如何實現Windows編程。這一章也是從基礎知識開始介紹,並構建知識體系。第16章學習如何在應用程序中使用.NET Framework提供的各種控制項。我們將簡要論述.NET如何以圖形化的方式建立Windows應用程序,以最少的時間和精力創建高級應用程序。

  第17章介紹一些常用的功能。利用這些功能可以方便地添加專業功能,例如,文件管理、列印等。第18章討論應用程序的部署,包括建立安裝程序,以便用戶快速安裝和運行應用程序。

  0.2.3 Web編程(第19~~23章)

  這個部分的結構與Windows編程部分類似。首先,第19章描述了構成最簡單的Web應用程序的控制項,如何把它們組合在一起,讓它們使用ASP .NET執行任務。第20章以此為基礎,介紹了更高級的技術、各種控制項、Web環境下的狀態管理,以及Web標準的遵循。

  第21章將涉足Web服務的精彩世界,它可以編程訪問Internet上的信息和功能,可以把複雜的數據和功能以獨立於平台的方式嵌入Web和Windows應用程序。這一章討論如何使用和創建Web服務,以及.NET提供的其他工具,如安全性。

  第22章介紹Ajax編程,這種方式可以給Web應用程序添加動態的客戶端功能。.NET Framework 3.5通過ASP .NET Ajax提供了Ajax功能,本章會解釋如何使用它。

  最後,第23章探討Web應用程序和服務的部署,尤其是可以通過單擊按鈕把應用程序發布到Web上的VS和VWD新特性。

  0.2.4 數據訪問(第24~~29章)

  第24章介紹了應用程序如何保存和檢索磁碟上的數據,作為簡單的文本文件或者更複雜的數據表示方式。這一章還將討論如何壓縮數據,如何操縱舊數據(例如,用逗號隔開的值(CSV)文件),如何監視和處理文件系統的變化。

  第25章學習數據交換的事實標準XML。前面的章節接觸過XML幾次,而這一章將了解XML的基本規則,論述XML的所有功能。

  本部分的其餘章節介紹LINQ,這是內置於.NET Framework最新版本中的查詢語言。第26章簡要介紹LINQ,第27章使用LINQ訪問資料庫中的數據。第28章介紹如何聯合使用LINQ和舊的ADO .NET 數據訪問技術。最後,第29章學習如何使用LINQ處理XML數據。

  0.2.5 其他技術(第30~~36章)

  本書的最後一部分將介紹C#和.NET主題的其他技術。第30章將探討屬性,可以在程序集中包含類型的其他信息,添加用其他方式很難實現的功能。

  第31章研究XML文檔說明,並介紹如何在源代碼中給應用程序添加註釋。我們將學習如何添加這些信息,如何使用和提取它們,從而從代碼中生成MSDN樣式的文檔說明。

  第32章介紹網路,應用程序如何相互通信,如何與各種網路上的其他服務通信。第33章從本書前面學習的各種技術中解脫出來,研究用GDI+進行圖形編程的主題,理解如何操縱圖形,設定應用程序的樣式,這一章打開了一條通往各種C#應用程序的大門。

  最後要討論.NET Framework最新版本中的幾個新技術。第34章介紹Windows Presentation Foundation(WPF),了解它給Windows和Web開發帶來了哪些變化。第35章介紹Windows Communication Foundation(WCF),它把Web服務的概念擴展和改進為一種企業級的通信技術。本書的最後一章是第36章,介紹了Windows Workflow Foundation(WF),它允許在應用程序中執行工作流功能,因此可以定義一些操作,這些操作由外部的交互操作控制,以特定的順序執行,這對許多類型的應用程序都很有幫助。

  0.3 使用本書的要求

  本書中C#和.NET Framework的代碼和描述都適用於.NET 3.5。除了Framework之外,不需要其他東西就可以理解本書的這個方面,但許多示例都需要Visual C# Express 2008作為主要開發工具,一些章節則使用了Visual Web Developer Express 2008。另外,一些功能只能在Visual Studio 2008中使用,這會在相應的地方明確指出。

  0.4 源代碼

  在讀者學習本書中的示例時,可以手工輸入所有的代碼,也可以使用本書附帶的源代碼文件。

  使用Search工具或使用書名列表就可以找到本書。接著單擊本書細目頁面上的Download Code鏈接,就可以獲得所有的源代碼。

  註釋:

  由於許多圖書的標題都很類似,所以按ISBN搜索是最簡單的,本書英文版的ISBN是978-0-470-19135-4。

  在下載了代碼后,只需用自己喜歡的解壓縮軟體對它進行解壓縮即可。

  0.5 勘誤表

  儘管我們已經盡了各種努力來保證文章或代碼中不出現錯誤,但是錯誤總是難免的,如果您在本書中找到了錯誤,例如拼寫錯誤或代碼錯誤,請告訴我們,我們將非常感激。通過勘誤表,可以讓其他讀者避免受挫,當然,這還有助於提供更高質量的信息。

  請給聯繫我們,我們就會檢查您的反饋信息,如果是正確的,我們將在本書的後續版本中採用。

  要在網站上找到本書英文版的勘誤表,通過Search工具或書名列表查找本書,然後在本書的細目頁面上,單擊Book Errata鏈接。在這個頁面上可以查看到Wrox編輯已提交和粘貼的所有勘誤項。完整的圖書列表還包括每本書的勘誤表。

  0.6 P2P.WROX .COM

  要與作者和同行討論,請加入p2p.wrox .com上的P2P論壇。這個論壇是一個基於Web的系統,便於您張貼與Wrox圖書相關的消息和相關技術,與其他讀者和技術用戶交流心得。該論壇提供了訂閱功能,當論壇上有新的消息時,它可以給您傳送感興趣的論題。Wrox作者、編輯和其他業界專家和讀者都會到這個論壇上來探討問題。

  在http://p2p.wrox .com上,有許多不同的論壇,它們不僅有助於閱讀本書,還有助於開發自己的應用程序。要加入論壇,可以遵循下面的步驟:

  (1) 進入p2p.wrox . com,單擊Register鏈接。

  (2) 閱讀使用協議,並單擊Agree按扭。

  (3) 填寫加入該論壇所需要的信息和自己希望提供的其他信息,單擊Submit按扭。

  (4) 您會收到一封電子郵件,其中的信息描述了如何驗證賬戶,完成加入過程。

  註釋:

  不加入P2P也可以閱讀論壇上的消息,但要張貼自己的消息,就必須加入該論壇。

  加入論壇后,就可以張貼新消息,響應其他用戶張貼的消息。可以隨時在Web上閱讀消息。如果要讓該網站給自己發送特定論壇中的消息,可以單擊論壇列表中該論壇名旁邊的subscribe to this Forum圖標。

  關於使用Wrox P2P的更多信息,可閱讀P2P FAQ,了解論壇軟體的工作情況以及P2P和Wrox圖書的許多常見問題。要閱讀FAQ,可以在任意P2P頁面上單擊FAQ鏈接。

上一篇[找煤]    下一篇 [煤田預測]

相關評論

同義詞:暫無同義詞