C
C#3mo ago
Faker

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
Anton
Anton3mo ago
$helloworld
Faker
FakerOP3mo ago
Also, I would appreciate if someone can recommend me what IDE to use
Anton
Anton3mo ago
Rider
Faker
FakerOP3mo ago
Rider is a jetBrain IDE?
Anton
Anton3mo ago
yes
Faker
FakerOP3mo ago
oh okay The .NET related to C# ?
Anton
Anton3mo ago
$dotnet
MODiX
MODiX3mo ago
.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.
Anton
Anton3mo ago
C# is one of the languages that compiles to IL IL is the bytecode of .NET
Faker
FakerOP3mo ago
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
Anton
Anton3mo ago
In uni you'll just learn C# and the associated tools The compiler and the dotnet CLI tool Also the build tool MSBuild
Faker
FakerOP3mo ago
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
Anton
Anton3mo ago
no problem
Thinker
Thinker3mo ago
If you learn C# you'll automatically learn .NET .NET isn't something you'll have to dedicate time to learning separately
Faker
FakerOP3mo ago
ah ok, .NET is something under the hood of C# ? Like how it works internally ? or just a set of tools
Thinker
Thinker3mo ago
yep, pretty much
Anton
Anton3mo ago
It runs compiled code
Faker
FakerOP3mo ago
yeah, I see
Thinker
Thinker3mo ago
but as mentioned above, ".NET" as a term refers to a lot of different things
Faker
FakerOP3mo ago
it juste convert bytecode ?
Thinker
Thinker3mo ago
The .NET runtime is essentially the machine/mechanism/processor which runs your compiled C#
Faker
FakerOP3mo ago
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 ?
Thinker
Thinker3mo ago
The MS course is iirc pretty introductory
Faker
FakerOP3mo ago
oh okay, this should help me to get started, is there any intermediate to advance course later on ?
mtreit
mtreit3mo ago
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.
Sibghat
Sibghat3mo ago
dotnetperls.com
Faker
FakerOP5w ago
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?
Thinker
Thinker5w ago
Doing your own projects is always a good way to learn.
Angius
Angius5w ago
$projects if you need inspiration
MODiX
MODiX5w ago
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
Faker
FakerOP5w ago
Yep I will start doing a project, just to build on what I learnt
Thinker
Thinker5w ago
Also, what do you wanna make with C#? Games? Web apps? etc.?
Faker
FakerOP5w ago
games !!!
Thinker
Thinker5w ago
Unity?
Faker
FakerOP5w ago
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
Thinker
Thinker5w ago
(I don't use Unity, I'm a firm Godot believer lol)
Faker
FakerOP5w ago
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
Thinker
Thinker5w ago
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#
Faker
FakerOP5w ago
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
Thinker
Thinker5w ago
for sure, again you'll learn a lot by making real things
Faker
FakerOP5w ago
yep, thanks, by the way is their a next step to the foundational course? like any "intermediate" course to start?
Thinker
Thinker5w ago
someone else might be able to weigh in on that, I unfortunately don't know of many
Angius
Angius5w ago
Imma be honest with you, haven't done any courses either lol
Thinker
Thinker5w ago
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
Angius
Angius5w ago
Just keep in mind that Unity C# is a lil' different than "real" C#
Thinker
Thinker5w ago
which is a somewhat pointless distinction, but still
Angius
Angius5w ago
They use public fields, their null checks don't really check for nulls, and so on
Faker
FakerOP5w ago
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
Thinker
Thinker5w ago
for sure!
Faker
FakerOP5w ago
Thanks guys, really appreciate one last thing, you guys didn't do any course, so how did you learn, by reading books ?
Angius
Angius5w ago
I picked a project and googled my way to completion
Thinker
Thinker5w ago
I pretty much also just did projects, I think my first "proper" C# project was a Discord bot (following a tutorial, but still)
Faker
FakerOP5w ago
oh okay I see, thanks !

Did you find this page helpful?