- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
Beginning Visual C# 2010 Paperback – Apr 5 2010
|New from||Used from|
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
From the Back Cover
Learn programming with C# 2010 and the .NET framework
Beginning with C# 2010 programming basics such as variables, flow control, and object oriented programming, this invaluable book then moves into web and Windows programming and data access (databases and XML). All the while, the expert team of authors focuses on the tools that you need to program C#, the Visual C# 2010 development environment in Visual Studio® 2010. The step-by-step instructions and constructive examples featured throughout the book will show you how to program confidently with useful code in C# 2010.
Beginning Visual C# 2010:
Explains basic C# 2010 syntax, including variables and expressions
Reviews generics and explains how to define and use them
Covers Windows programming and Windows Forms
Examines language enhancements, Lambda expressions, and extension methods
Shows how to deploy Windows applications
Discusses XML and provides an introduction to LINQ
Delves into debugging and error handling
Demonstrates useful techniques for WPF and WCF
Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.
Join our Programmer to Programmer forums to ask and answer programming questions about this book, join discussions on the hottest topics in the industry, and connect with fellow programmers from around the world.
Take advantage of free code samples from this book, as well as code samples from hundreds of other books, all ready to use.
Find articles, ebooks, sample chapters and tables of contents for hundreds of books, and more reference resources on programming topics that matter to you.
About the Author
KARLI WATSON is consultant at Infusion Development (www.infusion.com), a technology architect at Boost.net (www.boost.net), and a freelance IT specialist, author, and developer. For the most part, he immerses himself in .NET (in particular C# and lately WPF) and has written numerous books in the field for several publishers. He specializes in communicating complex ideas in a way that is accessible to anyone with a passion to learn, and spends much of his time playing with new technology to find new things to teach people about. During those (seemingly few) times where he isn’t doing the above, Karli will probably be wishing he was hurtling down a mountain on a snowboard. Or possibly trying to get his novel published. Either way, you’ll know him by his brightly colored clothes. You can also find him tweeting online at www.twitter.com/karlequin, and maybe one day he’ll get around to making himself a website. Karli authored chapters 1 through 14, 21, 25 and 26.
CHRISTIAN NAGEL is a Microsoft Regional Director and Microsoft MVP, an associate of Thinktecture, and owner of CN Innovation. He is a software architect and developer who offers training and consulting on how to developMicrosoft .NET solutions. He looks back on more than 25 years of software development experience. Christian started his computing career with PDP 11 and VAX/VMS systems, covering a variety of languages and platforms. Since 2000, when .NET was just a technology preview, he has been working with various .NET technologies to build numerous .NET solutions. With his profound knowledge of Microsoft technologies, he has written numerous .NET books, and is certified as a Microsoft Certified Trainer and Professional Developer. Christian speaks at international conferences such as TechEd and Tech Days, and started INETA Europe to support .NET user groups. You can contact Christian via his web sites, www.cninnovation.com and www.thinktecture.com and follow his tweets on www.twitter.com/christiannagel. Christian wrote chapters 17 through 20.
JACOB HAMMER PEDERSEN is a Senior Application Developer at Elbek& Vejrup. He just about started programming when he was able to spell the word ‘BASIC’, which, incidentally is the first programming language he ever used. He started programming the PC in the early ’90s, using Pascal but soon changed his focus to C++, which still holds his interest. In the mid ’90s his focus changed again, this time to Visual Basic. In the summer of 2000 he discovered C# and has been happily exploring it ever since. Primarily working on the Microsoft platforms, his other expertise includes MS Office development, SQL Server, COM and Visual Basic.Net.
A Danish citizen, Jacob works and lives in Aarhus, Denmark. He authored chapters 15, 16, and 22.
JON D. REID is a software engineering manager atMetrix LLC, an ISV of field service management software for the Microsoft environment. He has co-authored a variety .NET books, including Beginning Visual C# 2008, Beginning C# Databases: From Novice to Professional, Pro Visual Studio .NET, and many others. Jon wrote chapters 23 and 24.
MORGAN SKINNER began his computing career at a young age on the Sinclair ZX80 at school, where he was underwhelmed by some code a teacher had written and so began programming in assembly language. Since then he’s used all sorts of languages and platforms, including VAX Macro Assembler, Pascal, Modula2, Smalltalk, X86 assembly language, PowerBuilder, C/C++, VB, and currently C# (of course). He’s been programming in .NET since the PDC release in 2000, and liked it so much he joined Microsoft in 2001. He now works in premier support for developers and spends most of his time assisting customers with C#. Morgan wrapped up the book by authoring chapter 27. You can reach Morgan at www.morganskinner.com.
Inside This Book(Learn More)
Most Helpful Customer Reviews on Amazon.com (beta)
Part I begins by dipping a toe in the Olympic pool of the C# language. It starts slow and easy, complete with a full description of the Visual Studio 2010 Integrated Development Environment (IDE). Without such a tool, all coding would happen by hand and take far longer than any Project Manager or Executives would accept. Keep these people grinning and use the IDE. Though the free version of Visual Studio (Visual Studio Express and Visual Web Developer Express) will work with 99% of the examples, the authors sometimes forget that subtle differences exist between the full and express versions. These gaps appear more and more in the database sections later in the book, though workarounds exist for all of them. After covering the IDE, Part I slips deeper into the C# language. All of the fundamentals receive adequate treatment. Variables, loops, functions, debugging, etc. Along the way a console card game gets constructed piecemeal. After a very accessible discussion on Objects and classes this program becomes fully functional. It won't win any gaming awards, but it will elucidate some potentially difficult to grasp concepts. Things get sticky in chapter 12 with Generics. Those new to object oriented programming may find this a concept challenging at first. Luckily the topic takes up an entire chapter and receives really detailed coverage. Chapter 14 introduces new additions to the .NET 4 framework. Pay particular attention to Lambda expressions, as they will come up again (and likely more and more in the future quickly melting into the present). By this point readers will have a solid grasp of C# fundamentals. But they'll also only be 400 pages into the book.
A breather arrives with Part II, which covers windows forms programming. Here the IDE tears its shirt open to reveal the true rippling power underneath. Things actually get easier since forms more or less build themselves (by command, of course) leaving programmer time to fill in the cool bits. A whole GUI (Graphical User Interface) can appear in minutes. Just drag controls onto the form(s), wire them up and fully functional, though simple, programs appear. Knowledge of windows forms alone, however, won't land anyone a programming job, as most applications these days are web-based. Part II provides an introduction to that far more ubiquitous platform (one wonders how many new production quality windows forms programs get created every year). ASP.NET puts C# on the web. Chapters 18 - 20 give a fairly high level overview of this technology, including a chapter on Web Services. Don't expect an exhaustive treatment here. This subject needs a dedicated book (Imar Spaanjaar's "Beginning ASP.NET 4 in C# and VB" provides one good choice). Part III dives back into details with file system access, XML and the ever increasing in importance LINQ (Language Integrated Query). Some consider LINQ a "replacement" for the database query language SQL. Yes and no. It actually accomplishes far more than SQL and in some different contexts. The introduction here runs two chapters and more than covers the needed basics. Lastly, Part IV peeks into the future with introductions to Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF). These chapters provide great introductions to these new technologies (especially the WPF chapter, which is worth a read by itself). The next generation of .NET has arrived and, as usual, things have changed. At least this book won't leave readers behind.
This enormous book obviously covers a lot of ground. Anyone who feels the weight of this thing surely asks "is the commitment worth it?" That may depend. Any prospective professional programmer will very likely need to know a good portion of this book to stay competitive. So those going down that road should probably get this book, or one with similar girth, firmly entrenched in their heads. Consider this a mere starting point (the professional book in this series is even longer). The curious or those looking to just play around with the language and have some fun can probably find better (i.e. shorter) starting places. Think web tutorials or smaller step-by-step books. C# and the .NET framework are huge landscapes that no one person could ever master completely, so serious .NET programmers should expect to spend their careers in a state of continuous learning. This book gives a juicy taste of the knowledge base needed. So where does the book not excel? For one, it has a Frankenstein-ish structure. Different authors clearly stick out in style, nomenclature and detail. Part I remains the most meticulously written, which becomes clear once one moves into the other parts. A consistency editor would have made the book flow better end to end. As such, it almost feels like five separate books welded together with the convenient "C#" umbrella providing the only common theme to the sometimes unwieldy mass. Nonetheless, the parts do build on one another, though somewhat sporadically at times. In any case, the book still provides a good foundation for C# programming and an excellent launching pad for new technologies (the WPF chapter would make a great standalone book or web tutorial). The ambitious should start, but not stop, here.
I've also found the "try it now" exercises to be concise and to the point. I have not completed the entire book, but I am pleased with the content so far.
The second issue I have is that one can tell that this book is written by multiple authors. Some of the chapters and explanations are crystal clear, yet others are WORDY and the author's implementation of the english language makes difficult topics even more cloudy. You might have to ready certain sentences five or six times to make head or tails of the message he/she is trying to convey.
The book has overall solid chapters but the two previous issues are large enough to spoil it for me however.
Now by cutting all BS aside let me get to the point.
The book starts out good but then there are moments in the book where writer leaves me confused. The most problem I had was with Collections and Generics chapter. It turns out the collection itself are not that difficult as the examples make it so. The point I would like to make is not everyone in computer science or programming has a strong roots in mathematics so writer should avoid using Vectors or other mathematical examples to explain the concepts of programming. For example, in Generics chapter when writer was trying to explain the IComparable<T> and IComparer<T> along with 2 delegates, Comparing<T> and Predicate<T> he used the example of Vectors... which confused the heck out of me..
I understand delegates as they can store the reference to methods of matching signature and but when I was trying to look the .Net exposed generics delegates... it became so confusing... not because of delegates syntax but because of mathematical example that was picked to show that.
It rather should have been simple to say,
Comparing<T> sorter = new Comparing<T>(ClassExample.Compare);
Predicate<T> search = new Comparing<T>(ClassExample.Search)
instead of intimidating with lines like following...
Comparison<Vector> sorter = new Comparison<Vector>(VectorDelegates.Compare);
Vectors topRightQuadrantRoute = new Vectors(route.FindAll.(searcher));
seriously its get the reader focus on understanding the context of example instead of understanding the simple delegate syntax or purpose here. That is not the only thing.. it goes in defining logic for prime numbers and so on ... so too much focus on mathematical examples and algorithms takes you away from understanding the context..
I am learning C# because I want to learn ASP.Net ... my intention is no where to build mathematical, geometrical, algebra or calculus programs.... so I don't need all that ... I just need the writer to tell me the basic syntax in simple examples so I can apply it in my own code...
I am hoping this type of things will cut down in the future versions so the book can be equally helpful to everyone... instead of just for someone who is good at mathematics... it is a false concept that you have to be a good mathematician to be a programmer...