Reddit Reddit reviews C# 5.0 in a Nutshell: The Definitive Reference

We found 18 Reddit comments about C# 5.0 in a Nutshell: The Definitive Reference. Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Programming
Software Design, Testing & Engineering
Object-Oriented Design
C# 5.0 in a Nutshell: The Definitive Reference
Used Book in Good Condition
Check price on Amazon

18 Reddit comments about C# 5.0 in a Nutshell: The Definitive Reference:

u/kdawkins · 12 pointsr/csharp

Great question!

A lot of intro classes skip over the 'why' and 'how' of programming languages. Lets backup for a second - the purpose of a programming language (C#, Java, etc.) is to abstract away the actual machine code that runs on the hardware. It would be a very difficult and tedious task to write large applications in machine code. This is where the compiler comes into play; even though we have these great high level languages, hardware still only understand machine code. The compilers job is to take statements that we write in high level languages and turn them into machine code.

Now, keeping in mind the above - back to your question. All of the specific words you are wondering the meaning of are keywords the language has. They are reserved for a specific function/meaning and help the compiler understand various traits about the code you are writing (context, control flow, etc.).

String - A String is a type and a type describes to the compiler what kind of data you are working with. In this case, a string means text (words, sentences). That's why variables that are of type String usually have the " ".

Console - (I am assuming that you are referring to the class here) The console class is a group of methods that tell the compiler how to interact with output on a terminal (the black window with a blinking cursor). You can use any methods (like WriteLine) to tell the compiler what you are trying to accomplish. Classes like this save us a lot of time, there is no need to always re-invent the wheel and write I/O code.

Namespace - This is one of the context keywords I eluded too above, it tells the compiler the scope of variables and expressions that you are writing.

Main() - This is a method name! It is a very important method because it is the entry point for an executable!

? - This is the funny one - The question mark operator is actually shorthand for an if/else control flow fixture. If the variable to the left of it evaluates to true, the first expression is executed, otherwise the 2nd. https://msdn.microsoft.com/en-us/library/ty67wk28.aspx

Pro Tip - MSDN is your friend! Microsoft has a lot of great documentation on C#... how did I find the above link? I googled "C# ? operator". Also, if your text book is not working out for you, see if your library has access to the C# 5.0 in a Nutshell book

u/tmckeage · 9 pointsr/csharp

I think some of these are a bit to specific for an entry level position where they know you have no experience ahead of time.

Whats your background in strongly typed languages?

This is a copy paste from a previous comment I made to a similar question I saw in the past:

If they are aware of your lack of knowledge I would focus less on the specifics of C# and more on programming basics, principals of OOP, and what it means to be a strongly typed language...

  1. have a strong grasp of the following: if, else, switch, while, do, for, foreach
  2. understand how to properly use recursion
  3. understand the difference between a reference and value type

  4. Know what the following are: Constructor, Property, Method, Member
  5. Understand how the class object is instantiated
  6. Have a basic understanding of inheritence and interfaces and how they work
  7. Have a basic grasp of the following keywords: public, private, class, new, static, void

  8. know the majority of the c# primatives (int, bool, long, short, string, etc)
  9. Understand how StringBuilder, DateTime, and TimeSpan are used
  10. Understand how a string is an immutable reference type

    I suggest the first four chapters of
    http://www.amazon.com/C-5-0-Nutshell-Definitive-Reference/dp/1449320104

    Also as a note I was in a similar situation, hired as an intern with no c# experience and basic python experience. They know you don't know shit, whats important is when someone explains something to you that you have the vocabulary to understand what they are saying.
u/ActionCactus · 5 pointsr/microsoft

I went to school for it, but I'll be the first to tell you that a fucking class isn't the best way to learn how to code. What kind of questions do you have?

If you're confused about why something like "System.out.println("Hi");" actually prints something to the console, I can explain to you what everything in that statement means (it's actually really intuitive and easy, and it's something professors usually don't tell you when they're introducing you to code writing).

If you want a recommendation on where to learn, Khan Academy and Code Academy are fantastic free resources, but another free service that I've found to be phenomenal has been [tutorialspoint.com] (http://www.tutorialspoint.com/java/). I also just recently purchased [a really good C# book] (http://www.amazon.com/5-0-Nutshell-The-Definitive-Reference/dp/1449320104/ref=zg_bs_697342_6); I like what I've seen in it thus far and if one by the same author exists for Java I'd recommend it.

All that said, by all means, ask me (or anyone else in this thread that'd like to answer questions) whatever you'd want. You also might want to check out /r/learnprogramming, and when you start getting to the more intermediate levels of programming stackoverflow.com is one of the best collab resources out there.

I'm not sure if mods would be okay with a programming question thread in this sub, so if you make a new thread somewhere else make sure to PM me so I can help answer your questions.

u/Jutanium · 4 pointsr/dailyprogrammer

Head First C# is a great book. That, and C# in a Nutshell taught me everything I needed to know.

u/sixothree · 3 pointsr/csharp

You need to pick a project that is bigger than your understanding of the language. It really is that easy.

Since you know a bit of Java, get this book: C# 5.0 in a Nutshell. It's an excellent reference.

I find myself using the following sites:

http://www.dotnetperls.com/

For basic learning.

http://stackoverflow.com/

For finding specific answers.

http://www.codeplex.com/

For finding useful open source projects and libraries.

http://www.codeproject.com/

For finding useful open source projects and libraries, as well as tutorials and guides.

u/_rere · 3 pointsr/cscareerquestions

Hi there, fellow EE.

We should make a club :)

I believe you can do a crash course into software development and catch up later when it comes to be a better software developer, since you've already been in the market for 4 years I'm sure you know exactly what I'm talking about (job has nothing to do with education, and you can learn as you go), and I know its the same in CS, a lot of companies just want you to do specific thing, and they don't really care about your theoretical knowledge or your full knowledge with software development life cycle.


Since you are an EE graduate I think you can relatively easily land a c++ software development job, but the problem with c++ is that there is a lot of theoretical knowledge is expected from you.

Still I believe if you set aside 3 months of your lifetime and study the following:

Programming: Principles and Practice Using C++

Code Complete

introduction to algorithms

Optional:

Software Engineering

Java Heads first

C# in a nutshell

Note, half of these books will bore you to death, but you have to power through.
Also there will come times where you don't understand what you are reading, I find it best is just to keep going, eventually things will make sense.

I personally find books is the fastest way to learn, and give you the deepest knowledge and always access to awesome tips and tricks that you can't learn at class or from a video.

If you pick those books, you can read from them in parallel, make a habit of finishing a chapter per 24/48 hour and practice 1-2 hours of programming (of what you've learned) I'm sure by the end of the 3 months you will be better than a lot of CS graduates

u/cheesekun · 2 pointsr/dotnet

I agree. 50 dollars can get you a 2000 page reference book. Hell 30 dollars can get you a nutshell book http://www.amazon.com/5-0-Nutshell-The-Definitive-Reference/dp/1449320104/ref=pd_sim_b_1

But with StackOverflow & great MSDN documentation is there a real need for books that gather dust?

u/Mr_Bennigans · 2 pointsr/gamedev

> I think if I learn how to program with an aim to work as a software developer and make games on the side, is this viable after just turning 20?


There's nothing wrong with the age of 20. I started school at 20, graduated in four years, and found work as a software engineer right out school.


What you have to figure out is how to make the best of your time left in school: should you take a class or two on programming and graduate on time, or (more dramatically) change your field of study to computer science and spend a few more years in school? That's something only you can decide. If you want to finish your architecture program and graduate in a reasonable amount of time, I can assure you that your math and physics background will be enough to get you work as a software engineer, but only if you can actually program.


Part of working as a software engineer means being able to program in multiple languages. That's because it's not really about the language, it's about the logic. All languages follow certain patterns and while syntax or wording may change, they all share ways to implement the same logic.


It also means knowing what data structures to use for what scenarios. The phrase "There's no such thing as a free lunch" comes to mind. All data structures have advantages and weaknesses and no data structure is perfect for every occasion. Know the differences, know the performance impact, and be able to speak to them. This won't just help you write better code, it will help you land a job. Interviewers love to ask questions about data structures.


As a corollary to data structures, you also need to know your algorithms. You need to know the performance impact of different ways to search and sort, traverse graphs, and find the shortest path (particularly relevant for game programming).


You said you're learning Python and that's great. Python is a great way to learn how to program. It's dynamic, it's friendly, and it has a rich library. Learn Python inside and out, then pick another language and figure out how to do the same things. C++, Java, and C# are all pretty popular in the industry, pick one of those. Once you know how to program in a few languages, you focus less on minute implementation details specific to one language and more on high level abstraction shared across multiple languages. By that point, you'll no longer be speaking in code, you'll be speaking in plain English, and that's the goal.


I don't know many good free online resources for learning languages, I learned mostly out of textbooks and lecture slides (along with lots of practice). There are some links in the sidebar to some tutorials that are worth checking out. Beyond that, I can recommend some books you may want to read.


  • Algorithms in a Nutshell - one of the best quick references on algorithms you can read
  • C# 5.0 in a Nutshell - excellent language reference, aimed more at advanced programmers, though it's comprehensive in scope, covering everything from language syntax and structure of a program to more complex tasks like threading, multiprocessing, and networking
  • Learning XNA 4.0 - a great game programming book, teaches 2D and 3D game development using Microsoft's C# and XNA framework
  • Java in a Nutshell - another great language reference
  • Starting Out with Java - introductory programming text, has end-of-chapter problems for reinforcement, a little pricey so see if you can find a used older edition
  • Starting Out with C++ - another good introductory programming text from Tony Gaddis
  • Python in a Nutshell - I can't speak to this one as I haven't read it, but I have been extremely happy with O'Reilly's "... in a Nutshell" series so I suspect it's as good as the others
  • Learn Python the Hard Way - free online book about learning Python, begins with simple examples then teaches you how to break it so you know both sides of the story, wasn't as comprehensive as I'd hoped but it taught me the basics of Python
  • Programming Interviews Exposed - sort an all-in-one book covering lots of different topics and giving an insight into what to expect for that first interview

    EDIT: I added Programming Interviews Exposed because it's a good reference for data structures, algorithms, and interview questions
u/sirdoctoresquire · 2 pointsr/dotnet

So, this post is close to a week old. I hope I'm not too late.

Microsoft actually has some pretty good training courses that you can go through for free.

C# Jumpstart

ASP.NET Jumpstart

I used the jumpstarts as a refresher a while ago after I got stuck developing on Oracle for a while and they are both good overviews.

That said, when you are looking at doing MVC .NET development you are really talking about three things. Learning C#, learning about the .NET framework, and learning how to develop in Microsoft's implementation of the MVC framework. I would learn in that order.

Since you have experience with Java, C# should be fairly familiar to you. I'd still recommend skimming over the basic differences. Once you've got that in hand, it is good to learn about the basic offerings of the .NET frame work. I've found that C# 5 in a Nutshell does a great job at going over both C# and the .NET frame work. It is dry, but worth going over. Once you've been through the first few chapters, you can pick and choose where you want to dive in next. IMO, LINQ is great.

Then, once you've got a good grasp for C# and the underlying framework, it is pretty easy to tack the MVC model on to it. The biggest problem I've seen is devs trying to learn every thing all at once. Depending on your experience level, you may be able to dig right in. Best of luck.

u/ixAp0c · 2 pointsr/learnprogramming

C# 5.0 in a Nutshell might be what you are looking for. It's more of a reference than a tutorial, and if you don't know Java I'm not sure how hard picking up C# syntax will be (disclaimer: I don't program in C# and haven't coded a single line of Java since it was required in a High School class).

u/indu777 · 2 pointsr/learnprogramming

If it is your first programming language then use:
http://www.introprogramming.info/english-intro-csharp-book/
book is free and will teach you basic programming technics, data structures and algorithms.

if you are not novice in programming and just need to get familiar with C# syntax then get any reference book like this one:
http://www.amazon.com/C-5-0-Nutshell-Definitive-Reference/dp/1449320104/ref=sr_1_1?s=books&ie=UTF8&qid=1421633975&sr=1-1

u/webitube · 2 pointsr/Unity3D
u/BlackOdder · 2 pointsr/csharp

This is my favorite book. Easy to understand but deep http://www.amazon.com/5-0-Nutshell-The-Definitive-Reference/dp/1449320104

u/pauloortins · 1 pointr/csharp

There are several books, blogs and videos that you can use.

These books are good choices:

C# 5.0 in a Nutshell and
Pro C# 5.0 and the .NET 4.5 Framework

I also wrote a blog post about it.

Resources to become a Ninja: C#

u/JacksUnkemptColon · 1 pointr/dotnet

Perhaps not what you're looking for as this isn't an internet source, but I found the sections in C# 5.0 in a Nutshell on concurrent programming were especially good at explaining this stuff to a non-genius like myself.

u/Xavierxf · 1 pointr/learnprogramming

/r/csharp recommends C# in a Nutshell.

Another vote for the Yellow Book because it's a great introduction to programming in general, along with C#.

u/JunoJunoJunoJuno · 1 pointr/learnprogramming

If you have some experience with other languages already, especially if it's C++ or Java, then I'd recommend the "C# in a Nutshell" books. The first couple of chapters will cover most of the content of the language. http://www.amazon.com/C-5-0-Nutshell-Definitive-Reference/dp/1449320104