Effective C# (Covers C# 4.0): 50 Specific Ways to Improve Your C#
Author
hhhdyj
Date
2014-09-17 22:58
Views
11690510
C# has matured over the past decade: It’s now a rich language with generics, functional programming concepts, and support for both static and dynamic typing. This palette of techniques provides great tools for many different idioms, but there are also many ways to make mistakes. In Effective C#, Second Edition, respected .NET expert Bill Wagner identifies fifty ways you can leverage the full power of the C# 4.0 language to express your designs concisely and clearly.
Effective C#, Second Edition, follows a clear format that makes it indispensable to hundreds of thousands of developers: clear, practical explanations, expert tips, and plenty of realistic code examples. Drawing on his unsurpassed C# experience, Wagner addresses everything from types to resource management to dynamic typing to multicore support in the C# language and the .NET framework. Along the way, he shows how to avoid common pitfalls in the C# language and the .NET environment. You’ll learn how to
Use both types of C# constants for efficiency and maintainability (see Item 2)
Employ immutable data types to promote multicore processing (see Item 20)
Minimize garbage collection, boxing, and unboxing (see Items 16 and 45)
Take full advantage of interfaces and delegates (see Items 22 though 25)
Make the most of the parallel framework (see Items 35 through 37)
Use duck typing in C# (see Item 38)
Spot the advantages of the dynamic and Expression types over reflection (see Items 42 and 43)
Assess why query expressions are better than loops (see Item 8)
Understand how generic covariance and contravariance affect your designs (see Item 29)
See how optional parameters can minimize the number of method overloads (see Item 10)
You’re already a successful C# programmer–this book will help you become an outstanding one.
Effective C#, Second Edition, follows a clear format that makes it indispensable to hundreds of thousands of developers: clear, practical explanations, expert tips, and plenty of realistic code examples. Drawing on his unsurpassed C# experience, Wagner addresses everything from types to resource management to dynamic typing to multicore support in the C# language and the .NET framework. Along the way, he shows how to avoid common pitfalls in the C# language and the .NET environment. You’ll learn how to
Use both types of C# constants for efficiency and maintainability (see Item 2)
Employ immutable data types to promote multicore processing (see Item 20)
Minimize garbage collection, boxing, and unboxing (see Items 16 and 45)
Take full advantage of interfaces and delegates (see Items 22 though 25)
Make the most of the parallel framework (see Items 35 through 37)
Use duck typing in C# (see Item 38)
Spot the advantages of the dynamic and Expression types over reflection (see Items 42 and 43)
Assess why query expressions are better than loops (see Item 8)
Understand how generic covariance and contravariance affect your designs (see Item 29)
See how optional parameters can minimize the number of method overloads (see Item 10)
You’re already a successful C# programmer–this book will help you become an outstanding one.
Total 1,424
Number | Title | Author | Date | Votes | Views |
1424 |
Byte of Python
tanthanh
|
2020.05.28
|
Votes 0
|
Views 11103549
|
tanthanh | 2020.05.28 | 0 | 11103549 |
1423 |
Surviving the Top Ten Challenges of Software Testing: A People-Oriented Approach (2)
^Software^
|
2019.07.22
|
Votes 0
|
Views 11353136
|
^Software^ | 2019.07.22 | 0 | 11353136 |
1422 |
Jmeter Cookbook (1)
VTB
|
2019.06.27
|
Votes 0
|
Views 11866601
|
VTB | 2019.06.27 | 0 | 11866601 |
1421 |
Java Testing : Maven - Reference (315 Pages) (1)
IT-Tester
|
2019.06.26
|
Votes 0
|
Views 11171220
|
IT-Tester | 2019.06.26 | 0 | 11171220 |
1420 |
Java Testing : Maven Example (154 Pages)
IT-Tester
|
2019.06.26
|
Votes 0
|
Views 11216825
|
IT-Tester | 2019.06.26 | 0 | 11216825 |
1419 |
AGILE TESTING - EBOOK (2)
HenryChuks
|
2019.05.31
|
Votes 0
|
Views 10831341
|
HenryChuks | 2019.05.31 | 0 | 10831341 |
1418 |
“Software Testing Career Package – A Software Tester’s Journey from Getting a Job to Becoming a Test Leader!”
aiitistqb
|
2018.10.16
|
Votes 0
|
Views 11180148
|
aiitistqb | 2018.10.16 | 0 | 11180148 |
1417 |
Practical Software Testing – New FREE eBook [Download] (2)
aiitistqb
|
2018.10.16
|
Votes 0
|
Views 10796145
|
aiitistqb | 2018.10.16 | 0 | 10796145 |
1416 |
The Pathologies of Failed Test Automation Projects
aiitistqb
|
2018.10.16
|
Votes 0
|
Views 11005937
|
aiitistqb | 2018.10.16 | 0 | 11005937 |
1415 |
Selenium WebDriver Practical Guide (4)
meo meo con con
|
2018.06.16
|
Votes 0
|
Views 11071031
|
meo meo con con | 2018.06.16 | 0 | 11071031 |
1414 |
Python for Informatics
melassiri
|
2018.06.04
|
Votes 0
|
Views 11453079
|
melassiri | 2018.06.04 | 0 | 11453079 |
1413 |
Hacking - The Art of Exploitation (7)
ravisk
|
2018.03.25
|
Votes 0
|
Views 11181665
|
ravisk | 2018.03.25 | 0 | 11181665 |
1412 |
Instant Penetration Testing Setting Up a Test Lab How-to (1)
ravisk
|
2018.03.24
|
Votes 0
|
Views 10622536
|
ravisk | 2018.03.24 | 0 | 10622536 |
1411 |
Practical-Guide-to-Software-System-Testing (3)
ravisk
|
2018.03.24
|
Votes 1
|
Views 11088612
|
ravisk | 2018.03.24 | 1 | 11088612 |
1410 |
EFFORT estimation software (1)
ravisk
|
2018.03.24
|
Votes 0
|
Views 11204751
|
ravisk | 2018.03.24 | 0 | 11204751 |
1409 |
Lee Copeland. A Practitioner's Guide to Software Test Design (19)
Unbroken
|
2017.12.15
|
Votes 0
|
Views 11427799
|
Unbroken | 2017.12.15 | 0 | 11427799 |
1408 |
http response codes (3)
SV369
|
2017.12.14
|
Votes 0
|
Views 11561266
|
SV369 | 2017.12.14 | 0 | 11561266 |
1407 |
«Hacking Mobile Exposed, Security secrets and solutions» (5)
Unbroken
|
2017.12.08
|
Votes 0
|
Views 11319118
|
Unbroken | 2017.12.08 | 0 | 11319118 |
1406 |
James A. Whittaker «Exploratory software testing» (8)
Unbroken
|
2017.12.08
|
Votes 1
|
Views 11542336
|
Unbroken | 2017.12.08 | 1 | 11542336 |
1405 |
FOUNDATIONS OF SOFTWARE TESTING (6)
marklouis
|
2017.12.05
|
Votes 0
|
Views 11252315
|
marklouis | 2017.12.05 | 0 | 11252315 |
1404 |
Python for informatics (2)
TesterQA
|
2017.12.01
|
Votes 0
|
Views 11451127
|
TesterQA | 2017.12.01 | 0 | 11451127 |
1403 |
Selenium Testing Tool Cookbook (11)
liliam001
|
2017.11.14
|
Votes 0
|
Views 11099914
|
liliam001 | 2017.11.14 | 0 | 11099914 |
1402 |
What is SQL Injection? (4)
ArifBaba
|
2017.10.28
|
Votes 0
|
Views 10867978
|
ArifBaba | 2017.10.28 | 0 | 10867978 |
1401 |
Oracle Middleware Tuning (4)
gpratikg
|
2017.10.08
|
Votes 0
|
Views 11270592
|
gpratikg | 2017.10.08 | 0 | 11270592 |
1400 |
Microsoft SQL Server 2012 (3)
yoshiharra
|
2017.10.08
|
Votes 0
|
Views 11414212
|
yoshiharra | 2017.10.08 | 0 | 11414212 |
1399 |
visual studio c sharp
vikasrao
|
2017.09.24
|
Votes 0
|
Views 11438871
|
vikasrao | 2017.09.24 | 0 | 11438871 |
1398 |
How to Break Web Software: Functional and Security Testing of Web Applications and Web Services (7)
vikasrao
|
2017.09.24
|
Votes 0
|
Views 11060113
|
vikasrao | 2017.09.24 | 0 | 11060113 |
1397 |
The Art of Unit Testing with Examples in .NET
vikasrao
|
2017.09.24
|
Votes 0
|
Views 11068097
|
vikasrao | 2017.09.24 | 0 | 11068097 |
1396 |
Scrum (2)
dhoanglong91
|
2017.09.23
|
Votes 1
|
Views 11321579
|
dhoanglong91 | 2017.09.23 | 1 | 11321579 |
1395 |
Python for Unix and Linux System Administration
Crismachado
|
2017.09.22
|
Votes 0
|
Views 11373440
|
Crismachado | 2017.09.22 | 0 | 11373440 |
1394 |
Ruby Best Practices (3)
Crismachado
|
2017.09.22
|
Votes 0
|
Views 10758328
|
Crismachado | 2017.09.22 | 0 | 10758328 |
1393 |
Python in Practice (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 11388968
|
ManhAnh | 2017.09.05 | 0 | 11388968 |
1392 |
Practical Object-Oriented Design in Ruby (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 11413878
|
ManhAnh | 2017.09.05 | 0 | 11413878 |
1391 |
Practical Cassandra (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 11313132
|
ManhAnh | 2017.09.05 | 0 | 11313132 |
1390 |
Development with the Force.com Platform, 3rd Edition (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 11836351
|
ManhAnh | 2017.09.05 | 0 | 11836351 |
1389 |
Apache Cordova 3 Programming (2)
ManhAnh
|
2017.09.05
|
Votes 0
|
Views 11155817
|
ManhAnh | 2017.09.05 | 0 | 11155817 |
1388 |
Software Testing - Ron Patton (4)
bugdetective
|
2017.09.04
|
Votes 0
|
Views 11714850
|
bugdetective | 2017.09.04 | 0 | 11714850 |
1387 |
The Art of Software Testing, 2rd Edition (1)
bugdetective
|
2017.09.04
|
Votes 0
|
Views 11046007
|
bugdetective | 2017.09.04 | 0 | 11046007 |
1386 |
Explore It!
bugdetective
|
2017.09.04
|
Votes 1
|
Views 11290942
|
bugdetective | 2017.09.04 | 1 | 11290942 |
1385 |
NoSQl (1)
getmedude
|
2017.08.27
|
Votes 0
|
Views 11119557
|
getmedude | 2017.08.27 | 0 | 11119557 |
1384 |
Art of testing (10)
dktzm89
|
2017.08.16
|
Votes 0
|
Views 11480472
|
dktzm89 | 2017.08.16 | 0 | 11480472 |
1383 |
Perl Book (1)
Ravish24
|
2017.08.15
|
Votes 0
|
Views 11534085
|
Ravish24 | 2017.08.15 | 0 | 11534085 |
1382 |
Automation Testing (5)
Ravish24
|
2017.08.15
|
Votes 1
|
Views 11709832
|
Ravish24 | 2017.08.15 | 1 | 11709832 |
1381 |
Prince2 model chart
AllGreen
|
2017.08.09
|
Votes 0
|
Views 11600131
|
AllGreen | 2017.08.09 | 0 | 11600131 |
1380 |
Prince2 for Dummies
AllGreen
|
2017.08.09
|
Votes 0
|
Views 11708043
|
AllGreen | 2017.08.09 | 0 | 11708043 |
1379 |
Unix and Linux testing (2)
pavan765
|
2017.08.01
|
Votes 0
|
Views 11319009
|
pavan765 | 2017.08.01 | 0 | 11319009 |
1378 |
Practical Software Testing (6)
Administrator
|
2017.07.24
|
Votes 0
|
Views 11197816
|
Administrator | 2017.07.24 | 0 | 11197816 |
1377 |
Selenium Notes (1)
masterofall
|
2017.07.24
|
Votes 0
|
Views 11175491
|
masterofall | 2017.07.24 | 0 | 11175491 |
1376 |
Practical Software Testing
masterofall
|
2017.07.24
|
Votes 0
|
Views 11270869
|
masterofall | 2017.07.24 | 0 | 11270869 |
1375 |
Lead Generation for Dummies (2)
uday bhaskar
|
2017.07.20
|
Votes 0
|
Views 11199147
|
uday bhaskar | 2017.07.20 | 0 | 11199147 |
thank you.
I've learned a lot from this book. Its def. useful.