• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Learning C# - where to start

oynaz

Platinum Member
Hi guys,

My job has asked me to develope some tools in C#. They are willing to pay for needed resources (books, etc).

I have dabbled in programming before (JAva, Basic, PowerShell scripts), but no C#.

A Google search yields lots of results, a bit overwhelming, to be honest.

Where and how would you start?

This M$ site seems like a good place to start, but I would like your opinion and advice 🙂

http://www.microsoftvirtualacademy.com/training-courses/c-fundamentals-for-absolute-beginners
 
I had a background in C++ programming.
a few years ago, I took a couple of evening semester courses in C# at a local community college in to formally beef up my knowledge of it.
Able to apply that knowledge for projects on next two jobs with minimal effort. Needed to develop some tools and it worked.

One can learn from a book, but for myself, I have found it always better to be in a class.

Link is the book that was used (4th Edition though)
 
Last edited:
The virtual academy website looks great. I wish it existed when I first started .Net.
I think once you get through it, you will be ready to develop some basic tools. At that point its just experience you need and the only way to get that is to start developing some tools.

Its hard to give specific recommendations because C# is a language, but it can also be used interchanegably with .Net, which is a generic term for a huge number of Microsoft .Net technologies including WCF, ASP.net, MVC, LINQ, ADO.Net. If you gave us some idea of what the tools will do (i.e access a database) we might be able to give you more specific recommendations.
 
Thanks for the replies. Classes would be optimal, but is not an option right now.

The tool parses a number of log files in custom .txt format in order to pinpoint errors and present the technician with an overview.
There is an old version which uses regex to parse the files, but it has a number of issues.

I have some experience with .net. I use it for forms in PowerShell scripts, though that can be rather quirky.
 
Thanks for the replies. Classes would be optimal, but is not an option right now.

The tool parses a number of log files in custom .txt format in order to pinpoint errors and present the technician with an overview.
There is an old version which uses regex to parse the files, but it has a number of issues.

I have some experience with .net. I use it for forms in PowerShell scripts, though that can be rather quirky.

That seems pretty simple. Reading a whole book or taking a whole class is great but if you only need small parts of it, all of the extra stuff you learn will be fogotten.
After doing the Virtual Academy just start searching task by task for your project

1. How to read text files in C#
http://msdn.microsoft.com/en-us/library/db5x7c0d(v=vs.110).aspx

2. How to display data in C#
http://msdn.microsoft.com/en-us/library/bb655891(v=vs.90).aspx
 
Do you know what platform you will be building these tools?

If you just want to learn C#, I'd start with console programming. That way you can focus on the language itself with minimal interaction with a framework.

If you start with ASP.Net/MVC or Winforms/WPF, you can get lost in all the conventions and libraries of the specific platform.

EDIT: just saw your last post. Ya def go with a Console App.
 
If you program in Java then making the jump to C# should not be too difficult. Read through a text book cover to cover within a month since I was not working.

once you are familiar with OOP C++ programming you will pick up the language quickly(C# tend to really push OOP onto you).
I picked up enough of the language within a month and got my first ever programming pay cheque writing a webscaper and a program to update an MSSQL database from .SQL files based on the meta data within it.
 
Last edited:
I thought C# Step by Step from MS Publishing was really good but that was back in 2008. Not sure if latest edition is as good.
 
If you can learn without classes, I highly recommend it as classes are typically paced pretty slow. Not everybody can learn independently though.
 
Hi guys,

Thanks for all the replies. I will start with the Microsoft articles, probably buy C# 5.0 in a nutshell, and start coding.
 
I learned C# using john skeet - C# in depth.
This book skips some of the basics, but covers more advanced features better.
Along with some internet references, it provided me with an in-depth introduction (I knew C++ before starting though).
 
Depends on your level of confidence with programming. I picked it up from Andrew Troelsen's "Pro C# and .NET Framework", which I found to be pretty good. It's comprehensive enough to be useful as a reference for the many of more obscure bits when I need them.
 
I finished the C# Fundamentals for Absolute Beginners course, and it is rather good. The instructor does a very good job of explaining the concepts, though he goes a bit too fast through the actual syntax at times.

Still, I liked the course, and the instructor does a number of shameless plugs for his website www.learnvisualstudio.net
There is a lifetime membership for sale for $120, something I can probably get my boss to pay for. Is it worth it? Does one of you guys have any experience with this site?

Also, I am beginning the design of my first simple application. I need a GUI - should I learn WPF or WinForms?
 
Back
Top