Resource to learn C#
Hello guys, sorry to disturb you all, I want to learn C# for the basics till advanced level. Can anyone suggest some good resources where I can learn it, practice what I learn and learn by doing please. I need to learn it for uni... I also need to learn ".NET" but don't really know what it is, is it related to C# please
54 Replies
$helloworld
Also, I would appreciate if someone can recommend me what IDE to use
Rider
Rider is a jetBrain IDE?
yes
oh okay
The .NET related to C# ?
$dotnet
.NET is a marketing term referring to a family of products, consisting of two different lineages.
The .NET Framework ("netfx") lineage was introduced in 2002. This lineage runs only on Windows. Its most recent release is .NET Framework 4.8.1. While this lineage is still supported, very few new features are being introduced into it. Devs are encouraged not to target .NET Framework for new app development.
The .NET Core ("netcore") lineage was introduced in 2016. This is a modern development platform which runs across many different OSes. The .NET Core 3.1 product was the last version in this lineage to bear the ".NET Core" name; and starting with the next release (.NET 5), the product was renamed to simply ".NET".
.net6
in 2021, .net7
in 2022, .net8
in 2023 ... the next release in this lineage is .NET 9. This lineage is where new features are actively being developed. Devs are encouraged to target .NET for new app development.
Nowadays, the ".NET" moniker usually refers to recent versions of the netcore lineage. When you create a new app targeting .NET (not .NET Framework!), you're targeting this newer, modern, cross-platform API surface and runtime.C# is one of the languages that compiles to IL
IL is the bytecode of .NET
OK, I will just start by learning C# then will come back later on with .NET... I know I would have to learn .NET for uni but don't really know what it does/why do we do it
In uni you'll just learn C# and the associated tools
The compiler and the dotnet CLI tool
Also the build tool MSBuild
yeah seems vague to me right now, I should start with the resources you provided, thanks, really appreciate, will come back later with more questions :c
no problem
If you learn C# you'll automatically learn .NET
.NET isn't something you'll have to dedicate time to learning separately
ah ok, .NET is something under the hood of C# ? Like how it works internally ?
or just a set of tools
yep, pretty much
It runs compiled code
yeah, I see
but as mentioned above, ".NET" as a term refers to a lot of different things
it juste convert bytecode ?
The .NET runtime is essentially the machine/mechanism/processor which runs your compiled C#
Ok ok, I will just start with the microsoft course, will come back later on to discuss more in depth about that, thanks guys 👍
By the way the microsoft guide is from beginner to advance course or just to get started as a beginner ?
The MS course is iirc pretty introductory
oh okay, this should help me to get started, is there any intermediate to advance course later on ?
Probably depends on the kind of development you are planning on doing. There is a lot of content on learn.microsoft.com:
https://learn.microsoft.com/en-us/training/browse/?levels=intermediate&products=dotnet
Browse all courses, learning paths, and modules - Training
Learn new skills and discover the power of Microsoft products with step-by-step guidance. Start your journey today by exploring our learning paths and modules.
dotnetperls.com
Hello guys, I just finish the foundational C# course with microsoft (Part 1 to 6). I know have a basic understanding of C#. I was wondering, what's next? I want to learn OOP; is their another section dedicated to that? I also want to build on what I've learnt, what is the best way to do that? Should I start building projects?
Doing your own projects is always a good way to learn.
$projects if you need inspiration
Collections of application ideas that anyone can solve in any programming language to improve coding skills:
https://github.com/dotnet/dotnet-console-games
https://github.com/karan/Projects
https://github.com/florinpop17/app-ideas
Yep I will start doing a project, just to build on what I learnt
Also, what do you wanna make with C#? Games? Web apps? etc.?
games !!!
Unity?
I noticed you guys uses it a lot, so I guess I will go with that yeah
I still a beginner so I want to experience a bit before sticking to a particular things
(I don't use Unity, I'm a firm Godot believer lol)
I also want to try web apps :c
also heard of that but tbh, I don't really know what their differences right now except that they are both game engines
One thing though, I finish the foundational course, I really just know the basics but in building games, web apps etc, their are complex things that developers use, like the idea of OOP, generics etc, how do I to cope with all that pls
Like I don't want to learn, learn, learn without applying anything
Okay so web apps is kind of a completely different area than games
You'll need to learn an entirely different set of skills to make web stuff than you'll need to make games
Doesn't mean you can't learn both, just that they're very different despite both using C#
yeah I see
In my head, I always have the impression of: "learn everything first, then start doing real things" but I think this isn't an appropriate way of thinking
for sure, again you'll learn a lot by making real things
yep, thanks, by the way is their a next step to the foundational course? like any "intermediate" course to start?
someone else might be able to weigh in on that, I unfortunately don't know of many
Imma be honest with you, haven't done any courses either lol
But imo, if you feel like you have a decent grasp of OOP then I think you'd probably be ready to jump into Unity
Just keep in mind that Unity C# is a lil' different than "real" C#
which is a somewhat pointless distinction, but still
They use public fields, their null checks don't really check for nulls, and so on
yep, before jumping into unity, I will just familiarize myself with C# stuff I think, build some basic project just to get more confident, then I can start with OOP things
for sure!
Thanks guys, really appreciate
one last thing, you guys didn't do any course, so how did you learn, by reading books ?
I picked a project and googled my way to completion
I pretty much also just did projects, I think my first "proper" C# project was a Discord bot
(following a tutorial, but still)
oh okay I see, thanks !