802,931 views
This video is a complete C# and .NET (Core) course for beginners. We start a C# project with .NET 6 in Visual Studio Code, although a newer version of .NET or Visual Studio 2022 can be used without problems. Help the channel by becoming a member: / @fredidev Mastering C# from Scratch Course: https://go.hotmart.com/O59830970O?dp=1 30% DISCOUNT COUPON: FREDI30 balta.io Channel: / baltaio Desenvolvedor.io Channel: / Desenvolvedorio Free C# book in Portuguese: https://livrocsharp.com.br/ Music provided by TheRelaxedMovement. Check it out here: /therelaxedmovement 0:00:00 Intro (Important) 0:01:42 .NET 6 SDK 0:03:42 Required VS Code extensions 0:05:21 dotnet commands 0:08:51 csproj file 0:09:24 Language 0:12:49 Types and objects 0:16:48 Variables 0:18:47 Statements and expressions 0:21:35 Expression statements 0:23:35 Operators and operands 0:25:45 Static typing 0:27:28 Console class and System namespace 0:29:12 Static classes 0:29:46 Instance members 0:31:54 First program 0:35:16 String concatenation and interpolation 0:36:34 Nullables in projects 0:37:02 Requesting user data 0:37:46 Converting strings to integers 0:40:30 Conditional branching with if 0:41:01 Boolean expressions 0:42:35 else and else if 0:46:02 Logical operators 0:47:04 Arrays 0:51:06 Top level statements 0:52:12 Program class and Main method 0:55:20 Void return type 0:56:50 Accessing array elements 0:57:32 For loop 0:59:16 Breakpoint and Debug 1:03:50 Foreach loop 1:05:56 Case-sensitive 1:08:36 Comparing strings without considering case 1:09:46 String operations 1:17:14 Number operations 1:20:56 Implicit and explicit conversions 1:24:16 Converting to string with ToString() 1:24:48 Reference types and value types 1:30:43 Value and reference equality 1:31:40 Nullable types 1:36:06 Nullable reference types 1:38:41 Exception handling 1:44:59 Classes and fields 1:48:03 Member accessibility and encapsulation 1:49:22 Constructors 1:51:56 Validating data in the constructor 1:52:26 Throwing an exception 1:54:01 Parameters vs arguments 1:55:07 nameof operator 1:57:12 Creating a method 1:58:27 Compound assignment expression (e.g. +=) 2:00:00 Executing method 2:00:36 Step Into (Debug) 2:02:13 Creating a method that returns an object 2:03:49 Properties 2:07:21 Validating data in the set 2:09:16 Interfaces 2:13:48 Readonly modifier 2:16:32 Writing and saving to file 2:22:09 Generics 2:24:09 Collection initializer with Lists 2:26:16 Creating a generic type 2:28:14 Strong typing with generics 2:29:27 Declaring variables with implicit type (var) 2:30:56 Delegate 2:34:51 Passing delegate as argument 2:35:33 Anonymous methods 2:36:41 Func and Action 2:39:44 Suffix of numeric types 2:41:28 Lambda expressions 2:44:45 Extension Methods 2:51:54 Declaring a Namespace 2:53:38 Implicit Usings 2:54:52 Importing a Namespace with the Using Directive 2:56:56 JSON Serialization and Deserialization 3:02:17 Multiple Constructors 3:04:12 Attributes 3:06:40 LINQ 3:07:25 Query Syntax 3:08:46 Deferred Execution 3:09:19 Method Syntax with Lambda 3:12:16 Exploring the Enumerable Class 3:14:01 Beware of Deferred Execution 3:16:35 Materializing a LINQ Query 3:18:14 First and FirstOrDefault 3:21:07 OrderBy and OrderByDescending 3:23:51 GroupBy 3:28:06 Select 3:31:40 Anonymous types 3:33:09 Enumerable.Empty and Enumerable.Range 3:37:45 Using Range to return letters of the alphabet 3:39:23 Asynchronous programming 3:41:44 Difference between synchronous and asynchronous operations 3:43:56 Running code asynchronously 3:47:24 async and await 3:50:12 Returning an object in a Task 3:52:27 Generating the application executable 3:53:35 Running on another computer with the Runtime 3:55:18 Next steps (Important)