tags:

views:

480

answers:

11
+4  Q: 

Re-learning C#

I recently applied for a C# junior programmer position and went through the initial phone screening, which I felt pretty good about. My current position is at a company that uses exclusively VB.NET development for .NET applications. I have worked with C# in college and some on my own after college and that is what I want to use for my career in the future.

I have the first O'Reilly Programming C# book for VS.NET 1.0 by Jesse Liberty from a college course. I remember this book being really helpful to me in college and I don't want to spend another $40+ dollars on a book.

So my question is how out-of-date is the first section of that book: "The C# language" (chapters 1 through 12) and even some of the later sections of the book? Has the language changed so much that it would be better to not read this book and use some other online sources? I have some new ASP.NET 3.5 books that should take care of the stuff that has changed for web applications, but I mainly want to get refreshed on the C# language.

Just to Clarify: This is a great website I just refreshed a few minutes later and had several great responses from other professionals!
Unfortunately I've been doing primarily support at my current position rather than new development so I'm not extremely familiar with all the new .NET classes. Majority of time is spent debugging/enhancing legacy apps (C++, VB6, with VB.NET applications) This is why I'm applying for a junior level posision and would be willing to take a slight paycut just to be able to do new development with guidance from a good lead developer. I think that would be a lot better for my future career goals.

+2  A: 

I think most of the syntax has remained the same since .NET 1.0. Since you've been working with VB.NET, you should be familiar with much of the updated .NET class library.

I would suggest reviewing the book you have and perhaps some free resources as to what's new in .NET on the web. Once you get the job, ask your employer if there are specific things you should brush up on for the position.

tehblanx
+9  A: 

CLR via C# by Jeff Richter is the book you're looking for. Worth its weight in gold.

Version 1.0 of that book will not cover things like generics, anonymous methods, etc.

blue_fenix
+1 for great book. @blue_fenix: Want to link to it on amazon for easier access to reader reviews too? :)
Greg D
CLR via C# is a great book, but it doesn't include anything from C# 3 - if the OP wants to know the latest and greatest (released) C#, he'll need more than that. Still a good book to read though :)
Jon Skeet
Sort of - linq is built on top of anonymous methods ;) If OP is looking for a refresher on fundamentals then CLR via C# is a perfect fit.
blue_fenix
A: 

I would find a more recent resource, to at least suplement your book. C# 1.0 didn't have anonymous functions, LINQ, partial classes, yield iterators... and many other features that have changed the way I write day-to-day code.

Gabe Moothart
+2  A: 

I would use online source, instead of your old book... I don't usually recommend MSDN, but basic stuff it is a good place to start and a lot of times it shows you both vb and c# so you can better translate what it is you want to do.

I was in the same position you where about 3 years ago (C# is now my prefered language) and what really helped me was to take one of my existing vb applications and rewrite it as a c# one. Stuff seems to "stick" much better when I do it vs. just read about it...

Good Luck!

J.13.L
+7  A: 

Your best bet is to run through this list of What's New in C# 2.0 and What's New in C# 3.0 and then check out SO for information on the things that you don't already know. And assuming you're not on VB.NET 1.0 you'll have picked up most things already. Specifically, I'd focus on:

C# 2.0

  • Generics
  • Anonymous Methods
  • Nullable Types
  • Delegates

C# 3.0

  • Linq
  • Implicit Local Variables
  • Lambda Expressions
  • Extension Methods

Also this VB.NET and C# comparison is a great resource

Gavin Miller
A: 

"Programming C#" is really out dated i got the fifth edition few months ago !

anyway if you know some C# and want to get a book go for "CLR via C#" i m still reading it and everytime i open it i learn something new !

Yassir
+12  A: 

I hate to plug my own book (okay, not so much on the hating really) but C# in Depth sounds like it's ideal for your situation.

It assumes you know C# 1 (although it goes over a few bits you may be hazy on) and just teaches the new bits of C# 2 and 3.

There are some free chapters (and a table of contents) on the linked web site so you can see if it's up your street.

Jon Skeet
Jon just posted you book at the same time!
Richard
On a side note, great book by the way!
Richard
+2  A: 

I would recommend C# in depth from manning which is a great book for updating you on the 2 3.0 version additions including generics and linq.

This book helped me get so much more out of the language

http://www.manning.com/skeet/

Update:

Jon Skeet the author, posted at exactly the same time (spooky) but he should be listened to, it's a great book.

Richard
A: 

Two of the major language things that have changed since then are the generics syntax and Linq/lambda syntax. I work in both C# and Vb everyday and still find it tough to switch back and forth between the lambda syntax .

Jacob Adams
+1  A: 

O'Reilly Programming C# book for VS.NET 1.0 by Jesse Liberty is certainly out-of date. Much has changed from back than. I read that book and there are many sample code in it. But many things are done differently today:

  • lambda expressions instead of creating IComparer classes
  • Generics changed the way we write programs in C# a lot (don't use ArrayList any more)
  • LINQ
  • iterators instead of manually implementing IEnumerator
  • VS is now 3 generations more mature
  • ASMX web services are history, we use WCF today ...

I suggest Pro C# 2008 and the .NET 3.5 Platform, Fourth Edition or Jon Skeeet's C# in Depth.

Petar Repac
+1  A: 

All the books mentioned above are excellent resources. If you don't want to spend $40+ on new books, open an account with your local library. Most local libraries let you set up a free online account and provide access to reading ebooks online via services like Safari.

Abhijeet Patel