Damn, COREY --- you beauty! You're the man! A legend for us C Sharpers !!!!!
@IAmTimCorey2 ай бұрын
Thanks!
@umer.on.youtube2 ай бұрын
@@IAmTimCorey What platforms do you suggest for interactive learning? For newer stuff like Blazor and MAUI. Also, please create some courses on MAUI and Blazor (forgetting about older versions of Blazor and focusing only on the latest things like the new template that allows to write once, run on Web, Mobile, Desktop, as previously web was missing).
@ramansehdev82352 ай бұрын
This is awesome. Foundation is key.
@IAmTimCorey2 ай бұрын
Thanks!
@itodobien1396Ай бұрын
I have the DEV pass for the C# Master Course. I was told that was the best course for learning C#. I made it mostly though it until about Winforms. I wasn't super interested in that so I cancelled Dev pass. However, now that I am seeing much more updated material here on your YT channel, I may renew. I am wondering why the Master Class has the older material if you've made much newer stuff with net 8.0/9.0? I'm in plural sight now to continue on my C# learning, but I would have preferred to stay on your site! Also, when is the C# for Unity gonna be published? I have been looking forward to that for some time now :)
@IAmTimCoreyАй бұрын
There are a few things to answer here. First, WinForms isn't the old way of doing things. In fact, at Build 2024, Microsoft recommended it as the way to build desktop apps with WPF being another way if you needed the extra power. While WinForms has been around for a long time, it is still a modern way of building desktop apps. You can use .NET 8 with WinForms and WPF. Second, the C# Mastercourse intentionally covers everything from .NET Framework up through .NET 6 right now because when you actually get a job in software development, you will probably be working with something in that range. Yes, the cutting edge is nice, and the latest way to do things is always a draw, but if you only learn that then you will be ill-equipped to work in today's job market. That's why I cover such a range. Third, the C# Mastercourse is a course that I keep updated. I'll be putting out a new version of it sometime in 2025. It will still have .NET Framework in it, but it will also cover .NET through .NET 9. Keeping content updated with the latest version of .NET isn't the goal, since again, businesses don't typically use the latest version. However, I'm constantly releasing new courses with the latest stuff. My Blazor course is in .NET 8. I just released a C# Fundamentals training course where we build three small applications and debug a fourth. That uses .NET 8. I've got another course where we build an app in WinForms, WPF, and Blazor WebAssembly (the same app three times) that will come out in about a week. As for the Game Development Mastercourse, that is still under production. That's actually what I'm working on recently. New modules of that should come out shortly. As for the final date, I would like to complete it early next year, if not sooner. It all depends on how much work it takes to create the new .NET 9 content (which comes out the middle of November) and how the holidays interfere. I've been taking my time in that course because I want to teach the latest and greatest. We just switched over to Unity 6, which officially releases soon.
@itodobien1396Ай бұрын
@@IAmTimCorey Hi! thank you for taking the time to answer. I think I poorly worded my questions. I didn't mean to imply winforms was the old way of doing things. I just stopped the Master Class right around there because I am more interested in learning pure coding for now and I (just my preference) am not keen on learning winforms at this stage. What I meant by 'older' was the class has a lot of framework stuff (which I understand through your lessons that it's great to learn that, and not a lot is different) but then this class here is .NET 8. I guess I was just confused that if you have new classes why they weren't in the master class is all. I didn't even see them until I came here. I apologize if my tone/delivery came across poorly. I really like your teaching style and going through all the projects. I learned a TON in a short time. Now that I know there's more C# material on your site (I was under the assumption all C# content was rolled under the MC), I am stoked to keep pushing on. I am retired (for now) and just started learning everything from scratch. I started making a video game for my son and that's how this all started. Now I'm hooked. I am really looking forward to the Unity course and appreciate that you post so much here (which I only found today). So, to sum up: Thank you for replying, I am sorry if my message sounded combative, and I am stoked to continue learning from you.
@IAmTimCoreyАй бұрын
No worries. I'm glad I was able to help. And yes, the C# Mastercourse is just a course. It is an extremely comprehensive course, and covers a LOT of topics around C#, but I have many other courses that cover other areas of C# or that go into much greater depth in specific areas.
@michaelnorris25222 ай бұрын
You aren't there yet! How about checking what happens when a negative number is entered? I added a && clause to the evaluation of validGuess. Another tiny thing - how about {guessCount} guess{(guessCount == 1 ? "" : "es")} to make it more like writing "guess(es)"? Great video, though, and much appreciated.
@IAmTimCorey2 ай бұрын
I was ok with people entering negative guesses. At that point, you are punishing yourself. The way to "win" is to get the lowest number of guesses. Going backwards won't win you anything. It will just increase your guess count. As for the guess suggestion, yep, you could do that.
@robinheyer708Ай бұрын
Console.Write("Please enter a number: "); int firstGuess; while (!int.TryParse(Console.ReadLine(), out firstGuess) || firstGuess
@gurudaki2 ай бұрын
Nice work!Is this video for beginners?
@IAmTimCorey2 ай бұрын
Beginners can absolutely do this, although people with more experience will still find value in it as well.
@ramansehdev82352 ай бұрын
Are there more courses coming like this to test foundational knowledge?
@IAmTimCorey2 ай бұрын
Not just foundational knowledge, but yes.
@ramansehdev82352 ай бұрын
@@IAmTimCorey music to my ears. Coming across your channel in 2018 was the best thing for my professional career.
@devoiddude2 ай бұрын
Very nice video Tim, I found this really helpful, thank you, just one question, how come you don't separate the code into individual methods?
@IAmTimCorey2 ай бұрын
Why would we need the additional complexity of methods?
@trustingod02 ай бұрын
Hey Tim. I was wondering do you have any video covering debugging?
@IAmTimCoreyАй бұрын
This video is one of four apps in the paid course. In that course, one of the apps is pre-existing. The section is called bug hunt. We hunt down bugs by reading the code and fixing them. I also have a whole section in the C# Mastercourse on debugging. I also have a number of videos on KZbin that cover debugging: www.youtube.com/@IAmTimCorey/search?query=debugging
@trustingod0Ай бұрын
@@IAmTimCorey Thank You Kindly Sir !!!
@esparda07Ай бұрын
What keyboard do you use?
@IAmTimCoreyАй бұрын
I use the MX Keys by Logitech. I absolutely love it. Whenever one of my team members needs a keyboard, that's what they get. They love it too.
@anddav1232 ай бұрын
Not used to ””” always used @“ for literal string, is it right assume it equal to the same thing?
@IAmTimCorey2 ай бұрын
No, they aren't the same thing. The verbatim string literal (@ symbol) allows for single-line literal strings. You can do multi-line, but it is messy. You also have to escape double quotes still. The verbatim string literal (""" characters) allow you to easily do multi-line and you do not need to escape double quotes. Also, if you decide that you want to have two double quotes in a row, you can use four double quotes to start and end the raw string literal.
@anddav1232 ай бұрын
@@IAmTimCorey thanks for your reply, good to know
@عروضوهميزات-ل5غ2 ай бұрын
Hello Tim how to register in your website to buy a course ?
@IAmTimCorey2 ай бұрын
No need to register. Just go to the course and click buy. It will set up the accounts you need automatically.
@IreneSmith2 ай бұрын
I'm curious why your do while loop test isn't while(!validGuess) which does the same thing and, in this context should be completely clear.
@IAmTimCorey2 ай бұрын
We don't test validGuess before we've put a "real" value into the variable. Otherwise, we can accidentally never go through the while loop because we set it to the "wrong" initial value. That's why we have a do loop. So we can set the validGuess variable with real data, not just starter data, before we test it.
@IreneSmith2 ай бұрын
@@IAmTimCorey The initial value of a boolean is false.Since it is a do loop, we know it will run at least once, so why write out != false when !false does the same exact thing. Tell me how that's any different. I'm not just trying to argue, I want to understand what the difference is.
@IAmTimCorey2 ай бұрын
Ah, I see. I thought you were saying to use a while loop instead of a do loop. Instead, if I understand you now, you were saying that we could write "!validGuess" instead of "validGuess == false". That's a good question. The reason is because code is meant to be read by humans. When you are reading code, especially when you are quickly scanning it, the bang character (!) is easy to miss. So then it looks like you are looping if they give a valid guess rather than an invalid guess. By saying "== false", it is much easier to see. The compiler treats it the same, but it is easier to see as a human. I've seen people introduce bugs a number of times because they missed the bang character somewhere and thought the statement did the opposite of what it actually does.
@studentsheaven-d8v2 ай бұрын
hh...that NOPE is message from users to the developer, am I joke to you. loving it
@IAmTimCorey2 ай бұрын
😀
@Zakaria_TheWolf2 ай бұрын
Amazing Lessons ✅ the $"" "" "" "" "" "" Is The Most Information Value That I learn Today Thank You
@IAmTimCorey2 ай бұрын
I am glad it was helpful.
@NaftuliSinger2 ай бұрын
56:21 Why did it set the currentValue to 0 and not to 1 as specified for null values in your code at line 15?
@IAmTimCorey2 ай бұрын
Because it wasn't a null value. It was an empty string. An empty string is not null, so it tests it to see if it can convert the empty string to an integer. When it cannot, it returns false (which we are ignoring), and it sets the value of the integer to zero. Thus, zero for our first guess.
@NaftuliSinger2 ай бұрын
@@IAmTimCoreySo in which case would it actually add 1 (as specified in ?? "1") ?
@ChrisRS72 ай бұрын
@@NaftuliSinger Try F6 and hit "Enter"
@IAmTimCorey2 ай бұрын
@NaftuliSinger - No, because that is a null check. Like I said, it isn't null. Since it isn't null, it uses the value we gave it from the console, not the fallback value. Therefore, it is zero.
@NaftuliSinger2 ай бұрын
@@IAmTimCorey Gotcha
@OneIdeaTooMany2 ай бұрын
Code is meant to be read by humans said no python expert ever...
@IAmTimCorey2 ай бұрын
😂
@aron-gx9mh2 ай бұрын
it would be nice to have a shorter version of your tutorials. maybe without explaining anything just right the code in ten minutes and explain as minimal as possible. long versions are good too but can drain my energy
@IAmTimCorey2 ай бұрын
I have a whole series called 10-minute training. You can find the playlist on this channel.
@keyser4562 ай бұрын
His 10-minute series is actually pretty amazing. Great for introductions (and sometimes more) to every relevant topic.
@IAmTimCorey2 ай бұрын
Also, just so you know, if you have the DevPass (or if you buy this course), this video is broken up into short videos. I believe this section is 12 videos instead of the one it is on KZbin. The other three apps are the same way. Most lessons are under 10 minutes.