1. Trang chủ
  2. » Công Nghệ Thông Tin

a0098 accelerated c shar morebook vn 7174

7 1 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Accelerated C# 2008
Tác giả Trey Nash
Trường học Vietnam National University, Hanoi
Chuyên ngành Computer Science
Thể loại Sách hướng dẫn
Năm xuất bản 2007
Thành phố Hà Nội
Định dạng
Số trang 7
Dung lượng 2,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

this print for content only—size & color not accurate spine = 1.028" 544 page countAccelerated C# 2008 Dear Reader, In your hands is a guide to creating effective C# 3.0 code.. This book

Trang 1

this print for content only—size & color not accurate spine = 1.028" 544 page count

Accelerated C# 2008

Dear Reader,

In your hands is a guide to creating effective C# 3.0 code This book focuses precisely on the C# 3.0 language, showing you how to write programs that are robust, fault-tolerant, and ready to be put into widely available libraries

Accelerated C# 2008 won’t burden your time with endless discussions of

libraries Instead, it presents you with a well organized, focused and easy-to-read text about C# 3.0 and all of the tried and true idioms, patterns, and design principles developed in the object oriented arena during the lifetime of the .NET Framework With many short examples, I will show you how common design patterns are used routinely in the NET Framework and how you should employ them in your own designs

In this book I’ll explore with you all the new features of the C# 3.0 language

in detail, including extension methods, lambda expressions, and Language Integrated Query (LINQ) among others These are all exciting additions to C# 3.0 that foster a functional programming model within what has previously been almost exclusively an imperative programming language As you put these new features of C# 3.0 to use, you’ll find that they expand your horizons and open

up new possibilities of solutions using functional programming techniques!

Another area of particular interest for C# developers is how we can write exception-safe and fault-tolerant code The NET Framework includes several facilities, including Critical Execution Regions, to help protect the state of your application in the event of an asynchronous exception In this book, I explain how to use these new facilities to your advantage

Have fun programming and remember, always defining a contract before implementation, striving to be exception-neutral, and being frugal with your resource usage are all keys to entering the halls of C# guru code-dom

Trey Nash

Author of

Accelerated C# 2005

Coauthor of

Accelerated VB 2005

Accelerated VB 2008

US $39.99

Shelve in

Programming Languages/C#

User level:

Intermediate–Advanced

Nash

The eXperT’s Voice® in neT

Accelerated

C# 2008

panTone 123 c

Trey Nash

Foreword by Wes Dyer C# Language Design Team, Microsoft

Free Companion eBook Available

THE APRESS ROADMAP

Pro LINQ:

Language Integrated Query in C# 2008

Pro C# 2008 and the NET 3.5 Framework, 4e

Illustrated C# 2008

Pro WCF: Practical Microsoft SOA Implementation

Beginning C# 2008:

From Novice to Professional

Beginning C# 2008 Databases:

From Novice to Professional Accelerated C# 2008

Pro WPF in C# 2008:

Windows Presentation Foundation with NET 3.5, 2e

www.apress.com

SOURCE CODE ONLINE

Free Companion eBook

For a limited time only.

See last page for details.

ISBN-13: 978-1-59059-873-3 ISBN-10: 1-59059-873-3

9 781590 598733

5 3 9 9 9

For a limited time, get the free, fully searchable eBook—a $20 value!

See last page for details.

Offer ends June 30, 2008.

For a limited time, get the free, fully searchable eBook—a $20 value! See last page for details.

Offer ends June 30, 2008.

Trang 3

Accelerated C# 2008

Trey Nash

Trang 4

ISBN-10 (pbk): 1-59059-873-3

Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1

Trademarked names may appear in this book Rather than use a trademark symbol with every occurrence

of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark

Lead Editor: Dominic Shakeshaft

Technical Reviewer: Shawn Wildermuth

Editorial Board: Steve Anglin, Ewan Buckingham, Tony Campbell, Gary Cornell, Jonathan Gennick, Jason Gilmore, Kevin Goff, Jonathan Hassell, Matthew Moodie, Joseph Ottinger, Jeffrey Pepper, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh

Project Manager: Sofia Marchant

Copy Editor: Jim Compton

Assistant Production Director: Kari Brooks-Copony

Production Editor: Laura Cheu

Compositor: Jimmie Young

Proofreader: April Eddy

Indexer: Beth Palmer

Artist: April Milne

Cover Designer: Kurt Krames

Manufacturing Director: Tom Debolski

Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013 Phone 1-800-SPRINGER, fax 201-348-4505, e-mail orders-ny@springer-sbm.com, or visit http://www.springeronline.com

For information on translations, please contact Apress directly at 2855 Telegraph Avenue, Suite 600, Berkeley, CA 94705 Phone 510-549-5930, fax 510-549-5939, e-mail info@apress.com, or visit

http://www.apress.com

The information in this book is distributed on an “as is” basis, without warranty Although every precau-tion has been taken in the preparaprecau-tion of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly

or indirectly by the information contained in this work

The source code for this book is available to readers at http://www.apress.com

Trang 5

This book is dedicated to the memory of my grandfather

Weldon W Nash, Sr.

December 19, 1912 – April 29, 2007

To Svetlana for believing in me

Trang 6

modes, 348 NET and, 3, 17, 331 recursion, 348 states, 320, 322, 323, 330, 348 synchronizing, 331–353 terminating/halting, 323–325 unmanaged, 330

waking, 324 Thread.Sleep method, 322, 324, 332, 335

ThreadStart delegate, 318

ThreadState enumeration, 322

ThreadStaticAttribute attribute, 327

Thread.Suspend method, 323, 325, 332

throw statement, 36, 164, 167, 174, 176

throwing exceptions, 164–172

thunks, 253

Timer class, 361, 362

TimerProc method, 362

timers, 361–362

TInput placeholder identifier, 288

TLSClass, 328

TLSFieldClass, 328

ToArray extension method, 494

ToList extension method, 485

ToString method, 95, 198, 201–202, 204,

393–396, 397 TOutput placeholder identifier, 288

transforms, 425–429

translating exceptions, 168

Troelsen, Andrew, 9

try statement, 165, 173

try/catch statement, 19

try/finally statement, 19, 109, 242

TryGetValue method, 234

type casting

conversion operators, 58, 149, 153, 156–158, 398

explicit, 27, 40 generic, 3–14, 291, 305 implicit, 27, 40, 58 from larger to smaller, 156 Type Library (TLB), 14

type safety, 281, 399–403, 411–413

TypeConverter class, 398

TypeInitializationException, 171, 185

typeof keyword, 14

typeof operator, 315

types, data see data types

undefined behavior exception, 107 unhandled exceptions, 164 UnhandledException, 164 UnhandledExceptionEventArgs, 164 unheld thread mode, 348

UnloadException, 165 unsafe code techniques, 24 unspeakable field names, 2, 82 Unstarted state, thread, 322 upgradeable thread mode, 348 UpgradeToWriterLock method, 347 ushort type, 20, 22

using directive, 4 using keyword deterministic destruction, 190, 376 disposable objects, 375

extension methods, 418 namespaces, 34 overloading, 19, 110

V

Validate method, 186 value arguments, 111 value equality, 382, 385 value keyword, 265 value types C# support, 21 canonical forms, 405–413 checklist, 363, 415 definition, 40, 75–81 described, 87 finalizers, 406 ICloneable interface, 406 IComparable interface, 406, 411 IConvertible interface, 406 IDisposable interface, 406 IFormattable interface, 406 interface implementation, 134, 139–141, 410, 411

new keyword, 96 terminology, 24 type safety, 411–413 uses, 3

ValueType class, 410 ValueType.Equals method, 385 var keyword, 6, 26

VarArgs method, 114

variables see also data types

capture, 5, 270–272, 436, 456–460 default, initialization, 292 implicit typing, 6, 25–26, 450 naming, LINQ, 25

Trang 7

vectors, arrays compared, 226

verbatim strings, 196

Vermeulen, Allan, 320

versioning, 13, 141

virtual keyword, 115–116, 133

virtual members, 62

virtual methods, 103, 115–118, 264, 366, 367

Visitor pattern, 437–440

Visual Basic collection types, 235

Visual Studio code analysis, 27

Vlissides, John, 123, 366, 437

volatile field modifier, 44

vtables, interface tables compared, 137

W

Wait method, 322, 342

WaitAll method, 351

WaitAny method, 351

WaitHandle class, 349–353

WaitOne method, 349–350 WaitSleepJoin state, thread, 322 waking threads, 324

where clause (LINQ), 475, 483 where keyword, 299

Where method, 474 while statement, 19, 35 Win32 functions, 184 Win32 Synchronization objects, 351 write thread mode, 348

write-only properties, 48

Y

Y fixed-point combinators, 463

“Yet Another Language Geek” blog, 437 yield blocks, 243, 244–245, 247–248, 251, 482 yield break statement, 244

yield keyword, 237, 243, 288

■I N D E X

510

Ngày đăng: 05/12/2022, 09:07

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN