Companies Home Search Profile

Ultimate C# Masterclass for 2023

Focused View

Krystyna Ślusarczyk

36:15:31

566 View
  • 1. Welcome! Basic information & how to get help.mp4
    01:33
  • 2. 46 seconds about your instructor.mp4
    00:46
  • 3. 72 seconds about what this course is.mp4
    01:12
  • 4. 105 seconds about what this course isnt.mp4
    01:45
  • 5. 97 seconds about practicing what you learn.mp4
    01:37
  • 6.1 The complete list of topics.html
  • 6. 112 seconds about time optimization.mp4
    01:52
  • 7.1 Visual Studio on other systems than Windows.pdf
  • 7. Installing Visual Studio Community.mp4
    02:38
  • 8.1 Link to the repository.html
  • 8. Accessing the code.mp4
    02:43
  • 9.1 Code snippets list.html
  • 9.2 List of topics you will learn in this course.html
  • 9.3 visual studio keyboard shortcuts 1920 1080.zip
  • 9. Resources you can download.html
  • 1.1 TODO List - requirements.html
  • 1. Section introduction.mp4
    00:58
  • 2. Our first C# program.mp4
    06:05
  • 3. From a text file to an executable program.mp4
    03:44
  • 4. Programmers most important skill.mp4
    06:03
  • 5.1 TODO List - requirements.html
  • 5. The goal for this section.mp4
    01:23
  • 6. Variables.mp4
    08:24
  • 7.1 Microsoft-recommended C# coding convention.html
  • 7.2 Reserved keywords.html
  • 7. Naming variables & introduction to clean code.mp4
    06:49
  • 8. Variables.html
  • 9.1 Operators precedence.html
  • 9. Operators.mp4
    05:14
  • 10. Implicitly typed variables.mp4
    01:57
  • 11.1 Code snippets.html
  • 11. User input.mp4
    02:13
  • 12. Debugging with breakpoints.mp4
    04:38
  • 13. Coding exercises introduction.mp4
    07:28
  • 14. Variables and operators.html
  • 15. Comments.mp4
    03:54
  • 16. Boolean type. Logical negation, equality, comparison, and modulo operators.mp4
    06:18
  • 17. Bools & operators.html
  • 18. AND and OR logical operators.mp4
    05:27
  • 19. Boolean type and operators.html
  • 20. ifelse conditional statement.mp4
    05:54
  • 21. ifelse conditional statement.html
  • 22. The scope of local variables.mp4
    04:47
  • 23. Booleans, operators and ifelse conditional statement..html
  • 24. Methods - part 1 - void methods.mp4
    07:41
  • 25. Methods - part 2 - non-void methods.mp4
    09:33
  • 26. Methods - AbsoluteOfSum method.html
  • 27. Methods - part 3 - parameters types and the return type. Static typing in C#.mp4
    04:10
  • 28. Methods and typing.html
  • 29. Parsing a string to an int (int.Parse method).mp4
    02:52
  • 30. The first exception.mp4
    02:11
  • 31. Adding a new project to a solution.mp4
    02:48
  • 32. Assignments - Introduction.mp4
    01:51
  • 33.1 Requirements.html
  • 33. Assignment - Simple Calculator - Description and requirements.mp4
    02:27
  • 34. Assignment - Simple Calculator - Its time for you to implement it.html
  • 35. Assignment - Simple Calculator - Solution.mp4
    12:08
  • 36. String interpolation.mp4
    03:04
  • 37. String interpolation - FormatDate.html
  • 38. Switch statement.mp4
    07:53
  • 39. Switch statement - DescribeDay.html
  • 40. Char.mp4
    01:40
  • 41. A need for loops.mp4
    01:55
  • 42. While loop - part 1.mp4
    03:14
  • 43.1 ++i vs i++.html
  • 43. += and ++ operators. Infinite loops.mp4
    03:48
  • 44. While loop - part 2.mp4
    02:53
  • 45. While loop - CalculateSumOfNumbersBetween.html
  • 46. Do while loop.mp4
    04:29
  • 47. Do-while loop - RepeatCharacter.html
  • 48. For loop.mp4
    06:04
  • 49. For loop - Factorial.html
  • 50. Break.mp4
    03:29
  • 51. Continue.mp4
    05:39
  • 52. Break and continue.html
  • 53. Nested loops.mp4
    01:48
  • 54. Loops performance.mp4
    03:32
  • 55. Arrays.mp4
    10:48
  • 56. Arrays.html
  • 57. Arrays (1) - BuildHelloString.html
  • 58. Arrays (2) - IsWordPresentInCollection.html
  • 59. Multi-dimensional arrays.mp4
    06:57
  • 60. Multi-dimensional arrays - FindMax.html
  • 61. Foreach loop.mp4
    01:45
  • 62. Foreach loop - IsAnyWordLongerThan.html
  • 63. Lists.mp4
    10:51
  • 64. Lists - GetOnlyUpperCaseWords.html
  • 65. out keyword.mp4
    09:05
  • 66. TryParse method.mp4
    04:10
  • 67.1 Requirements.html
  • 67. Assignment - TODO List - Description and requirements.mp4
    02:28
  • 68. Assignment - TODO List - Its time for you to try to solve it.html
  • 69. Assignment - TODO List - Implementation - User options & adding a TODO.mp4
    06:51
  • 70. Assignment - TODO List - Implementation - Listing and Removing TODOs.mp4
    08:30
  • 71. Assignment - TODO List - Refactoring.mp4
    12:02
  • 72. Section final quiz.html
  • 1. Section introduction.mp4
    01:16
  • 2. The issues in our code. A need for Object-Oriented Programming.mp4
    05:50
  • 3. Introduction to object-oriented programming.mp4
    05:19
  • 4. Understanding OOP with the DateTime type.mp4
    06:03
  • 5. Basics of OOP.html
  • 6. Abstraction.mp4
    03:35
  • 7. Our first class.mp4
    03:50
  • 8. Data hiding.mp4
    04:04
  • 9.1 Microsoft C# Coding convention.html
  • 9. Custom constructor.mp4
    05:59
  • 10. HotelBooking class.html
  • 11.1 Top-level statements in .NET 6 and later.html
  • 11. C# restrictions on code outside classes. Top-level statements.mp4
    06:18
  • 12. Adding methods to classes.mp4
    03:32
  • 13. Basics of classes.html
  • 14. Encapsulation.mp4
    04:36
  • 15. The Triangle class.html
  • 16. Methods overloading.mp4
    05:44
  • 17. Constructors overloading. Calling one constructor from another.mp4
    02:26
  • 18. Encapsulation & overloading.html
  • 19. this keyword (current instance reference).mp4
    03:40
  • 20. Optional parameters.mp4
    06:14
  • 21. Dog class.html
  • 22. Expression-bodied methods.mp4
    02:18
  • 23. Validation of constructor parameters.mp4
    05:23
  • 24.1 Benefits of immutable objects.html
  • 24. Readonly and const.mp4
    05:19
  • 25. Optional parameters and more.html
  • 26. Limitations of fields. A need for properties.mp4
    03:39
  • 27. Properties.mp4
    09:16
  • 28. Properties of the Order class.html
  • 29. Object initializers.mp4
    05:10
  • 30. Computed properties.mp4
    02:54
  • 31. Computed properties - DailyAccountState class.html
  • 32. Static methods and classes.mp4
    08:20
  • 33. Static classes - NumberToDayOfWeekTranslator.html
  • 34. Static fields, properties and constructors.mp4
    04:37
  • 35. Properties & static.html
  • 36. string.Split and string.Join methods.html
  • 37. Single Responsibility Principle - Introduction.mp4
    09:43
  • 38. Single Responsibility Principle - Refactoring (part 1).mp4
    10:02
  • 39. Single Responsibility Principle - Refactoring (part 2).mp4
    05:52
  • 40. Single Responsibility Principle - Refactoring (part 3).mp4
    04:50
  • 41. Single Responsibility Principle.html
  • 42. Files, namespaces and the using directive.mp4
    10:24
  • 43. Global using directives.mp4
    06:45
  • 44.1 Requirements.html
  • 44. Assignment - Dice Roll Game - Description and requirements.mp4
    02:23
  • 45. Assignment - Dice Roll Game - Its time for you to try to solve it.html
  • 46. Assignment - Dice Roll Game - Random.mp4
    05:33
  • 47. Assignment - Dice Roll Game - Magic Number Antipattern.mp4
    04:02
  • 48. Assignment - Dice Roll Game - Designing classes.mp4
    09:50
  • 49. Assignment - Dice Roll Game - Enums.mp4
    05:07
  • 50. Assignment - Dice Roll Game - Ternary conditional operator.mp4
    06:22
  • 51. Section final quiz.html
  • 1. Section introduction.mp4
    00:57
  • 2. A need for polymorphism.mp4
    05:33
  • 3. Inheritance.mp4
    04:32
  • 4. Inheriting members from the base class. Protected access modifier.mp4
    05:28
  • 5. Basics of polymorphism.html
  • 6.1 new modifier documentation.html
  • 6.2 Method hiding and the new modifier.html
  • 6. Overriding members from the base class. Virtual methods and properties.mp4
    11:15
  • 7. Virtual methods - practice.mp4
    07:48
  • 8. Inheritance & Overriding - Animals.html
  • 9. Virtual methods - StringsProcessor classes.html
  • 10. A deeper inheritance hierarchy.mp4
    02:08
  • 11. Multiple inheritance.mp4
    02:58
  • 12. System.Object and the ToString method.mp4
    07:41
  • 13. Virtual methods and properties.html
  • 14. Inheriting constructors and the base keyword.mp4
    07:50
  • 15. Implicit conversion.mp4
    03:36
  • 16. Explicit conversion.mp4
    05:36
  • 17. Conversion.html
  • 18. Upcasting and downcasting.mp4
    02:24
  • 19. is operator.mp4
    03:55
  • 20. Null.mp4
    04:46
  • 21. is operator and null object -NumericTypesDescriber class.html
  • 22. as operator.mp4
    02:36
  • 23. Abstract classes.mp4
    01:32
  • 24. Abstract methods.mp4
    06:18
  • 25. Abstract methods - Shapes.html
  • 26. A need for abstract methods.mp4
    03:30
  • 27. Sealed classes and methods.mp4
    03:48
  • 28. Static classes are always sealed.mp4
    03:09
  • 29. Abstract & sealed.html
  • 30. Extension methods.mp4
    08:46
  • 31. Extension methods - List extensions.html
  • 32. A need for interfaces.mp4
    03:39
  • 33.1 Default implementations in interfaces.html
  • 33.2 Default implementations in interfaces (official documentation).html
  • 33. Interfaces.mp4
    10:07
  • 34. Interfaces - Applying multiple transformations to a number.html
  • 35. Interfaces vs abstract classes.mp4
    04:42
  • 36. Interfaces.html
  • 37.1 JSON tutorial.html
  • 37.2 Using JSON with C#.html
  • 37. JSON.mp4
    04:56
  • 38.1 Requirements.html
  • 38. Assignment - Cookies Cookbook - Description and requirements.mp4
    05:53
  • 39. Assignment - Cookies Cookbook - Its time for you to try to solve it.html
  • 40. Assignment - Cookies Cookbook - High-level design.mp4
    09:35
  • 41. Assignment - Cookies Cookbook - Dependency Inversion and Dependency Injection.mp4
    10:01
  • 42. Assignment - Cookies Cookbook - Designing data types.mp4
    08:48
  • 43. Assignment - Cookies Cookbook - Printing data object. LINQ..mp4
    08:25
  • 44. Assignment - Cookies Cookbook - Printing the ingredients.mp4
    03:28
  • 45. Assignment - Cookies Cookbook - Composing the recipe by the user.mp4
    05:10
  • 46. Assignment - Cookies Cookbook - Reading and writing from and to a .txt file.mp4
    11:22
  • 47. Assignment - Cookies Cookbook - Reading and writing from and to a .json file.mp4
    08:23
  • 48. Assignment - Cookies Cookbook - Template Method Design Pattern.mp4
    05:34
  • 49. Assignment - Cookies Cookbook - Cleanup and project organizing.mp4
    05:42
  • 50. Section final quiz.html
  • 1. Section introduction.mp4
    00:48
  • 2. Exception object.mp4
    04:21
  • 3. Stack trace.mp4
    04:46
  • 4. Handling exceptions. Try-catch-finally.mp4
    11:17
  • 5. Try-catch-finally. DivideNumbers.html
  • 6. Multiple catch blocks.mp4
    05:19
  • 7. Basics of exceptions.html
  • 8. Throwing exceptions explicitly.mp4
    09:08
  • 9. Built-in exception types.mp4
    05:00
  • 10. Built-in exceptions.html
  • 11. StackOverflowException. Recursive methods.mp4
    02:26
  • 12. Precise exceptions.mp4
    06:47
  • 13. Rethrowing exceptions. throw vs throw ex.mp4
    07:20
  • 14. Rethrowing exceptions.html
  • 15. Rethrowing a System.Exception object.mp4
    03:28
  • 16. Global try-catch block.mp4
    03:56
  • 17. Code inside the catch block.mp4
    03:26
  • 18. Exception filters.mp4
    03:48
  • 19. Exception handling.html
  • 20.1 How to create user-defined exceptions.html
  • 20.2 Serializable exceptions.html
  • 20. Custom exceptions.mp4
    05:00
  • 21. When to define custom exceptions.mp4
    06:36
  • 22. Custom exception - InvalidTransactionException.html
  • 23. Exceptions as a hidden part of a method signature.mp4
    04:58
  • 24. Two extreme schools of using exceptions.mp4
    06:46
  • 25. Smart usage of exceptions - throw.mp4
    06:47
  • 26. Smart usage of exceptions - catch.mp4
    08:30
  • 27. Smart usage of exceptions.html
  • 28.1 jsonFiles.zip
  • 28.2 Requirements.html
  • 28. Assignment - Game Data Parser - Description and requirements.mp4
    03:03
  • 29. Assignment - Game Data Parser - Its time for you to try to solve it.html
  • 30. Assignment - Game Data Parser - Sunny day scenario.mp4
    09:17
  • 31. Assignment - Game Data Parser - Flow controlled by exceptions.mp4
    06:48
  • 32. Assignment - Game Data Parser - Adding details to JsonException.mp4
    06:33
  • 33.1 log4net introduction.html
  • 33.2 Serilog introduction.html
  • 33. Assignment - Game Data Parser - Custom logger.mp4
    07:16
  • 34. Assignment - Game Data Parser - Reducing usage of exception.mp4
    04:12
  • 35. Assignment - Game Data Parser - Refactoring - Extracting methods.mp4
    04:22
  • 36. Assignment - Game Data Parser - Refactoring - SRP, DI and classes decoupling.mp4
    15:22
  • 37. Section final quiz.html
  • 1. Section introduction.mp4
    01:01
  • 2. Introduction to generic types.mp4
    03:37
  • 3. Understanding how List works under the hood.mp4
    05:19
  • 4. Simplified List (adding a new item).mp4
    06:24
  • 5. Simplified List (deleting an item at given index).mp4
    07:24
  • 6. A need for generic types. Implementing a generic type.mp4
    08:52
  • 7. Generic types - Pair class.html
  • 8. A need for tuples.mp4
    08:28
  • 9. Tuples.mp4
    06:00
  • 10. Generic types introduction.html
  • 11. C# without generics. ArrayList.mp4
    09:51
  • 12. Generic methods.mp4
    05:35
  • 13. Generic methods with multiple type parameters.mp4
    05:17
  • 14. Generic methods - SwapTupleItems method.html
  • 15. Convert.ChangeType method. typeof keyword and the Type object.mp4
    08:08
  • 16. Generic types and methods.html
  • 17. A need for type constraints.mp4
    08:17
  • 18. Improving the performance of the List. Measuring the time of the code execution.mp4
    06:51
  • 19. Type constraints - the constraint on the base type.mp4
    07:28
  • 20. IComparable interface. Ordering objects.mp4
    08:01
  • 21. Type constraints - the constraint on the implemented interface.mp4
    05:13
  • 22. Type constraints & IComparable - SortedList of FullNames.html
  • 23. Type constraints - numeric types. Generic math.mp4
    03:35
  • 24.1 Type constraints in C# - the complete list.html
  • 24. Type constraints - summary. Multiple type constraints.mp4
    03:03
  • 25. Type constraints.html
  • 26. Advanced use of methods - introduction.mp4
    01:35
  • 27. Funcs and Actions.mp4
    05:37
  • 28. Basics of Funcs and Actions.html
  • 29. Lambda expressions.mp4
    04:34
  • 30. Basics of lambda expressions.html
  • 31. Delegates.mp4
    05:19
  • 32. Funcs, lambda expressions and delegates.html
  • 33. Dictionary - introduction.mp4
    09:43
  • 34. Dictionary - practice.mp4
    09:58
  • 35. Dictionaries - FindMaxWeights of pets.html
  • 36. A need for the Strategy design pattern.mp4
    08:24
  • 37. Refactoring the code using Funcs and lambda expressions.mp4
    02:58
  • 38. Open-Closed Principle. Strategy design pattern.mp4
    11:33
  • 39. Generic filtering of collections.mp4
    06:25
  • 40. Advanced use of generic types.html
  • 41. Caching.mp4
    05:55
  • 42.1 AssignmentStartupFile.zip
  • 42.2 Requirements.html
  • 42. Assignment - Custom Cache - Description and requirements.mp4
    03:56
  • 43. Assignment - Custom Cache - Its time for you to try to solve it.html
  • 44.1 How to use built-in caching mechanism.html
  • 44. Assignment - Custom Cache - Implementation.mp4
    13:07
  • 45. Assignment - Custom Cache - The Decorator design pattern.mp4
    08:04
  • 46. Assignment - Custom Cache - Composing many Decorators together.mp4
    03:24
  • 47. Section final quiz.html
  • 1. Section introduction.mp4
    00:57
  • 2.1 Query syntax tutorial.html
  • 2. What is LINQ.mp4
    08:11
  • 3. LINQ and extension methods.mp4
    03:20
  • 4. LINQ, IEnumerableT and method chaining.mp4
    05:33
  • 5.1 Deferred execution explained.html
  • 5.2 Yield statement explained (can also be found in the section about collections).html
  • 5. Deferred execution.mp4
    07:14
  • 6. Basics of LINQ.html
  • 7. Any.mp4
    04:30
  • 8. All.mp4
    02:26
  • 9. Any & All.html
  • 10. Count.mp4
    02:47
  • 11. Contains.mp4
    01:46
  • 12. Count & Contains.html
  • 13. OrderBy.mp4
    05:06
  • 14. First and Last.mp4
    04:39
  • 15. OrderBy, First & Last.html
  • 16. Where.mp4
    05:59
  • 17. Distinct.mp4
    00:57
  • 18. Where & Distinct.html
  • 19. Select.mp4
    06:17
  • 20. Average. Anonymous types.mp4
    07:33
  • 21. Select & Average.html
  • 22.1 CookieCookbook.zip
  • 22.2 Requirements.html
  • 22. Assignment - Refactoring to LINQ - Description and requirements.mp4
    04:23
  • 23. Assignment - LINQ Refactoring - Its time for you to try to solve it.html
  • 24. Assignment - Refactoring to LINQ - Nested loop and code readability.mp4
    07:53
  • 25.1 Regular expressions tutorial.html
  • 25. Assignment - Refactoring to LINQ - Find and Replace window.mp4
    10:19
  • 26. Assignment - Refactoring to LINQ - Fewer loops & multiline strings formatting.mp4
    07:27
  • 27.1 LINQ source code.html
  • 27. Assignment - Refactoring to LINQ - Checking if collection has duplicates.mp4
    08:43
  • 28. Section final quiz.html
  • 29. If you want to learn more about LINQ .html
  • 1. Section introduction.mp4
    01:18
  • 2. .NET and C#.mp4
    07:26
  • 3. Common Intermediate Language (CIL).mp4
    03:46
  • 4. Common Language Runtime (CLR).mp4
    05:52
  • 5. .NET basics.html
  • 6. Memory of a program. The stack and the heap.mp4
    03:47
  • 7. Value semantics vs reference semantics.mp4
    05:51
  • 8. Value types vs reference types.mp4
    08:36
  • 9. Memory of a program. Value vs reference types.html
  • 10. Value types vs reference types - practical tips.mp4
    08:18
  • 11. ref keyword.mp4
    07:21
  • 12. ref modifier - FastForwardToSummer.html
  • 13. Using ref with reference types.mp4
    04:34
  • 14. Unified type system. A need for boxing and unboxing.mp4
    07:15
  • 15. Boxing and unboxing.mp4
    05:49
  • 16. Boxing and unboxing - performance cost.mp4
    05:59
  • 17. Boxing and unboxing.html
  • 18. Garbage Collector - introduction.mp4
    05:23
  • 19. Garbage Collector - memory fragmentation and defragmentation.mp4
    02:57
  • 20.1 More about roots identified by Mark-and-Sweep algorithm.html
  • 20. Garbage Collector - the Mark-and-Sweep algorithm.mp4
    07:09
  • 21. Basics of Garbage Collector and memory management.html
  • 22. Garbage Collector - generations of objects.mp4
    05:53
  • 23. Memory leaks.mp4
    04:58
  • 24.1 Eric Lipperts article about finalizers.html
  • 24.2 When to use finalizers - StackOverflow discussion.html
  • 24. Finalizers.mp4
    06:33
  • 25. Garbage Collector and memory management - advanced.html
  • 26. Dispose method - introduction.mp4
    02:19
  • 27. Dispose method - writing to a file using StreamWriter.mp4
    05:28
  • 28. Dispose method - reading from a file using StreamReader.mp4
    06:44
  • 29.1 Implementing Dispose & The Dispose pattern.html
  • 29. Dispose method - implementation.mp4
    06:52
  • 30. Dispose method - AllLinesFromTextFileReader.html
  • 31.1 sampleData.csv
  • 31. CSV files.mp4
    02:41
  • 32.1 sampleData.csv
  • 32. Reading CSV files.mp4
    08:37
  • 33.1 NetUnderTheHoodAssignment.zip
  • 33.2 Requirements.html
  • 33.3 sampleData.csv
  • 33. Assignment - CSV Processing Improvements - Description and requirements.mp4
    09:39
  • 34. Assignment - CSV Processing Improvements - Its time for you to try to solve it.html
  • 35. Assignment - CSV Processing Improvements - Code analysis & tips.mp4
    06:12
  • 36. Assignment - CSV Processing Improvements - Reducing the size of Dictionaries.mp4
    05:17
  • 37. Assignment - CSV Processing Improvements - Reducing the number of boxings.mp4
    12:16
  • 38. Assignment - CSV Processing Improvements - Analysis.mp4
    05:33
  • 39. Section final quiz.html
  • 1. Section introduction.mp4
    01:09
  • 2. Reflection.mp4
    09:02
  • 3. Attributes.mp4
    10:36
  • 4. Attributes - MustBeLargerThanAttribute.html
  • 5. Reflection.html
  • 6. Structs.mp4
    05:31
  • 7. Structs vs Classes - crucial differences.mp4
    05:17
  • 8.1 Structs in older versions of C#.html
  • 8. Structs vs Classes - low-level differences.mp4
    06:17
  • 9. Choosing between structs and classes.mp4
    06:12
  • 10. Structs.html
  • 11. Why should we make structs immutable.mp4
    03:57
  • 12. Immutable struct - Time.html
  • 13. Non-destructive mutation.mp4
    02:27
  • 14. with expression.mp4
    03:33
  • 15. Readonly structs.mp4
    02:31
  • 16. Immutable types.html
  • 17. A close look at the System.Object type. The ReferenceEquals method.mp4
    06:19
  • 18. Equals method.mp4
    03:58
  • 19. Overriding the Equals method in classes.mp4
    05:10
  • 20. Overriding the Equals method in structs.mp4
    07:08
  • 21. Equals - overriding it in the FullName class.html
  • 22. IEquatableT interface.mp4
    07:12
  • 23. == operator.mp4
    03:30
  • 24. Equality checks.html
  • 25.1 Overloadable operators.html
  • 25. Operators overloading.mp4
    06:06
  • 26. Overloading of implicit and explicit conversion operators.mp4
    06:55
  • 27. Operators overloading - Time structs.html
  • 28. Hash functions.mp4
    09:41
  • 29. Default implementation of the GetHashCode method.mp4
    04:53
  • 30. When to override the GetHashCode method.mp4
    02:56
  • 31. GetHashCode.html
  • 32. Overriding the GetHashCode method.mp4
    06:22
  • 33. GetHashCode - Time struct.html
  • 34. ValueTuples.mp4
    07:24
  • 35. Benefits of immutable types.mp4
    13:07
  • 36. Immutable types.html
  • 37. Records.mp4
    08:10
  • 38. Record structs.mp4
    02:30
  • 39. Records - GpsCoordinates.html
  • 40. Nullable value types.mp4
    07:43
  • 41. Nullable reference types.mp4
    12:01
  • 42. Null-forgiving operator.mp4
    09:06
  • 43. Using nullable reference types. Generic type constraints related to nullability.mp4
    07:04
  • 44. Nullable types.html
  • 45. APIs.mp4
    05:11
  • 46.1 Free APIs that do not require authentication.html
  • 46.2 USA population API call.html
  • 46. Querying an API using C#.mp4
    06:11
  • 47. A class for querying APIs.mp4
    07:36
  • 48.1 MockApiDataAccess.zip
  • 48.2 Requirements.html
  • 48. Assignment - Star Wars Planets Stats - Description and requirements.mp4
    05:15
  • 49. Assignment - Star Wars Planets Stats - Its time for you to try to solve it.html
  • 50. Assignment - Star Wars Planets Stats - JsonPropertyNameAttribute and DTOs.mp4
    09:47
  • 51.1 Documentation comments.html
  • 51. Assignment - Star Wars Planets Stats - Exceptions handling.mp4
    07:49
  • 52. Assignment - Star Wars Planets Stats - Type design.mp4
    08:07
  • 53. Assignment - Star Wars Planets Stats - Converting DTO to a custom type.mp4
    08:25
  • 54. Assignment - Star Wars Planets Stats - Finishing the app and the MaxBy method.mp4
    08:38
  • 55. Assignment - Star Wars Planets Stats - Refactoring.mp4
    08:43
  • 56. Assignment - Star Wars Planets Stats - Splitting the class.mp4
    09:33
  • 57. Assignment - Star Wars Planets Stats - Universal table printer.mp4
    13:56
  • 58. Section final quiz.html
  • 1. Section introduction.mp4
    00:41
  • 2. The role of the IEnumerable interface.mp4
    04:23
  • 3. A close look at the IEnumerable interface.mp4
    04:49
  • 4. Implementing IEnumerable.mp4
    06:16
  • 5. Implicit and explicit interface implementation.mp4
    06:20
  • 6. Implementing IEnumerableT.mp4
    06:48
  • 7. IEnumerable & interfaces implementation.html
  • 8. Indexers.mp4
    05:17
  • 9. ValueTuples & Custom indexer - PairOfArrays.html
  • 10. Collection initializers.mp4
    05:08
  • 11. ICollection and IList interfaces.mp4
    04:41
  • 12. Breaking the Interface Segregation Principle.mp4
    03:22
  • 13. Interface Segregation Principle.mp4
    04:57
  • 14. The benefits of readonly collections.mp4
    03:51
  • 15. Readonly collections. ReadOnlyCollection and ReadOnlyDictionary.mp4
    05:46
  • 16. Collections - advanced topics.html
  • 17. Big O Notation.mp4
    07:43
  • 18. Binary search algorithm.mp4
    06:52
  • 19. Binary search algorithm - implementation.mp4
    06:07
  • 20. Binary search algorithm - complexity.mp4
    04:39
  • 21. Complexity of algorithms.html
  • 22. Improving performance when using Lists.mp4
    09:46
  • 23. Linked list.mp4
    01:48
  • 24. Linked list vs List.mp4
    07:59
  • 25. Dictionaries under the hood.mp4
    10:09
  • 26. Performance of Dictionaries.mp4
    04:44
  • 27. Performance of collections.html
  • 28. HashSet.mp4
    07:47
  • 29. HashSet - CreateUnion method.html
  • 30. Queue.mp4
    06:12
  • 31. Stack.mp4
    04:08
  • 32. params keyword.mp4
    04:59
  • 33. params keyword - Does Stack contain any of the given words.html
  • 34. A need for yield statement.mp4
    04:05
  • 35. yield statement - behavior analysis.mp4
    05:21
  • 36. yield statement and iterators.mp4
    09:55
  • 37. yield statement - practice. yield break statement.mp4
    07:43
  • 38. yield statement - GetAllAfterLastNullReversed method.html
  • 39. Implementing IEnumerable interface using iterators.mp4
    03:52
  • 40.1 Requirements.html
  • 40. Assignment - Custom Linked List - Description and requirements.mp4
    02:46
  • 41. Assignment - Custom Linked List - Its time for you to try to solve it.html
  • 42. Assignment - Custom Linked List - Data structures.mp4
    06:30
  • 43. Assignment - Custom Linked List - The AddToFront method.mp4
    02:29
  • 44. Assignment - Custom Linked List - Implementing IEnumerable.mp4
    04:03
  • 45. Assignment - Custom Linked List - Adding new items at the end of the list.mp4
    02:34
  • 46. Assignment - Custom Linked List - The Clear method.mp4
    07:16
  • 47. Assignment - Custom Linked List - Removing items and the Contains method.mp4
    06:33
  • 48. Assignment - Custom Linked List - The CopyTo method.mp4
    03:07
  • 49.1 Built-in Linked List.html
  • 49. Assignment - Custom Linked List - Summary and performance. Private classes.mp4
    09:40
  • 50. Section final quiz.html
  • 1. Section introduction.mp4
    00:26
  • 2. Projects and solutions.mp4
    06:06
  • 3. Project properties.mp4
    05:03
  • 4. Debug build vs Release build.mp4
    02:02
  • 5. Projects and solutions.html
  • 6. Assemblies.mp4
    02:17
  • 7. Referencing types from another assembly.mp4
    05:22
  • 8. Referencing types from another project.mp4
    03:24
  • 9. Internal access modifier. Principles of using access modifiers.mp4
    06:10
  • 10. Protected internal access modifier.mp4
    02:27
  • 11. Private protected access modifier.mp4
    02:58
  • 12.1 Access modifiers in C#.html
  • 12. Access modifiers - summary.mp4
    04:34
  • 13. Access modifiers.html
  • 14. How to structure the code in a solution.mp4
    05:13
  • 15. NuGet.mp4
    08:15
  • 16. .csproj files.mp4
    05:32
  • 17. .sln files.mp4
    02:02
  • 18.1 .NET version upgrade guide.html
  • 18. Updating the .NET version.mp4
    03:54
  • 19. Section final quiz.html
  • 1. Section introduction.mp4
    00:50
  • 2. Char.mp4
    02:43
  • 3.1 Unicode encoding table.html
  • 3. Char representation in memory. Character encoding.mp4
    05:05
  • 4. Managing various encodings.mp4
    04:45
  • 5. Chars and encoding.html
  • 6. Immutability of strings.mp4
    02:24
  • 7. Strings - value or reference types.mp4
    04:05
  • 8. Strings as members in structs.mp4
    04:03
  • 9. Strings.html
  • 10. A need for StringBuilder.mp4
    03:15
  • 11. StringBuilder.mp4
    04:16
  • 12. StringBuilder - The Reverse method.html
  • 13. String interning.mp4
    06:51
  • 14. Flyweight design pattern.mp4
    03:24
  • 15.1 Composite formatting.html
  • 15. Advanced string formatting.mp4
    07:23
  • 16. Culture-specific string formatting.mp4
    04:24
  • 17. Specific culture vs Invariant culture.mp4
    04:42
  • 18. Advanced features of strigs.html
  • 19.1 Requirements.html
  • 19.2 Tickets.zip
  • 19. Assignment - Tickets Data Aggregator - Description and requirements.mp4
    05:16
  • 20. Assignment - Tickets Data Aggregator - Its time for you to try to solve it.html
  • 21. Assignment - Tickets Data Aggregator - Reading text from PDF.mp4
    05:19
  • 22. Assignment - Tickets Data Aggregator - List all PDFs from a folder.mp4
    01:52
  • 23. Assignment - Tickets Data Aggegator - Splitting a string by multiple separatos.mp4
    05:13
  • 24. Assignment - Tickets Data Aggegator - Parsing culture-specific strings.mp4
    05:23
  • 25. Assignment - Tickets Data Aggegator - Saving result in a text file.mp4
    05:45
  • 26. Assignment - Tickets Data Aggegator - Refactoring.mp4
    06:22
  • 27. Assignment - Tickets Data Aggegator - Compliance with the SRP.mp4
    08:58
  • 28. Section final quiz.html
  • 1. Section introduction.mp4
    00:55
  • 2. Decimal number system.mp4
    03:19
  • 3. Binary number system.mp4
    01:15
  • 4. Maximal numbers on a given number of digits.mp4
    03:55
  • 5. Binary number system.html
  • 6. Numbers in memory. Integer.mp4
    03:11
  • 7.1 Addition in columns.html
  • 7. Adding binary numbers.mp4
    03:03
  • 8. Numeric overflow & silent failures.mp4
    05:00
  • 9. Numbers in memory.html
  • 10. checked keyword.mp4
    01:57
  • 11. Checked context - when to use it.mp4
    03:32
  • 12. Scope of the checked context. unechecked keyword.mp4
    03:22
  • 13. Checked - Fibonacci sequence.html
  • 14. Integral numeric types overview.mp4
    04:17
  • 15. Floating-point numbers.mp4
    02:12
  • 16. double and float.mp4
    03:26
  • 17. Smart usage of binary floating point numbers.mp4
    05:51
  • 18. Floating point numbers - The IsAverageEqualTo method.html
  • 19. Decimal.mp4
    04:25
  • 20. Section final quiz.html
  • 1. Section introduction.mp4
    00:41
  • 2. A need for communication between objects.mp4
    05:26
  • 3. A need for the Observer design pattern.mp4
    02:01
  • 4. Observer design pattern.mp4
    08:37
  • 5. Defining an event and subsribing to it.mp4
    05:53
  • 6. Raising events.mp4
    04:59
  • 7. Events - User and BankAccount.html
  • 8. EventHandler delegate & EventArgs type.mp4
    04:45
  • 9. Observer design pattern & basics of events.html
  • 10. Event vs delegate members.mp4
    02:33
  • 11. Memory leaks caused by events.mp4
    05:25
  • 12. Events - WeatherDataAggregator.html
  • 13. Windows Forms - introduction.mp4
    02:50
  • 14. The first Windows Forms app.mp4
    05:24
  • 15. Understanding Windows Forms files.mp4
    04:09
  • 16. Events in Windows Forms.mp4
    06:44
  • 17. Windows Forms - basic UI elements.mp4
    07:00
  • 18.1 Requirements.html
  • 18. Assignment - Numeric Types Suggester - Description and requirements.mp4
    04:33
  • 19. Assignment - Numeric Types Suggester - Its time for you to try to solve it.html
  • 20. Assignment - Numeric Types Suggester - User Interface & basic events.mp4
    06:18
  • 21. Assignment - Numeric Types Suggester - Handling KeyPress event.mp4
    05:23
  • 22. Assignment - Numeric Types Suggester - Numbers validation and BigInteger type.mp4
    04:23
  • 23. Assignment - Numeric Types Suggester - Choosing numeric type.mp4
    11:57
  • 24. Section final quiz.html
  • 1. Bonus lecture.html
  • Description


    In-depth .NET programming course from basics to advanced. Focus on clean code, performance and practice.

    What You'll Learn?


    • You will gain an in-depth understanding of C#.
    • You will understand how to write high-performance C# code.
    • You will understand the principles of object-oriented programming
    • You will learn the most useful design patterns.
    • You will learn to write code of excellent quality.
    • You will gain the knowledge necessary for C# job interviews.
    • You will practice your skills by solving exercises in the browser, as well as by creating advanced projects.
    • You will learn how to use Visual Studio like a pro.

    Who is this for?


  • Beginners who have never programmed before.
  • Intermediete C# developers who want to improve their skills and gain in-depth understanding of this language.
  • Programmers switching languages to C#.
  • More details


    Description

    Welcome to the "Ultimate C# Masterclass" course! Are you ready to take your knowledge and career to the next level?


    36 hours of on-demand videos, 58 coding exercises, 51 quizzes, and 12 assignments. All this is to help you start coding in C# like a pro.


    I'm a .NET Technical Lead with over 10 years of professional experience. I will help you on this journey every step of the way, no matter if you are a complete beginner who has never coded before or a developer who wants to advance to the next level. We will start from the basics, but we will not stop there.


    I will not only teach you how to code but also how to code well. Clean code and good design will be our priorities, and design patterns will be shown in practice, not as abstract concepts that seem impossible to be used in real-life challenges. Refactoring will be something we practice all the time.


    Programs written in C# are fast, but we can make them faster. The performance will be discussed in detail.


    You will learn more than C# syntax. It is not only a course about the language but a course about programming in general. You will understand why all the things we learn are needed and how to use them right. Moreover, I will show you how they work under the hood, and thanks to that, you will gain an in-depth understanding of C#.


    Practice makes perfect. You will solve dozens of coding exercises right in the browser. You will also implement coding assignments, such as a program processing the data read from an external API or an app for analyzing PDF files. You will also solidify your knowledge by solving short quizzes as well as doing final knowledge checks after each section.


    This course comes with a 30-day money-back guarantee. If you are not satisfied, you can return it and get all your money back, no questions asked. In other words, you don't risk anything by purchasing this course. You have nothing to lose, and the knowledge you will gain may take your career to the next level.


    So, why hesitate? Join me in this course and start coding like a professional.

    Who this course is for:

    • Beginners who have never programmed before.
    • Intermediete C# developers who want to improve their skills and gain in-depth understanding of this language.
    • Programmers switching languages to C#.

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Krystyna Ślusarczyk
    Krystyna Ślusarczyk
    Instructor's Courses
    Hello, I'm Krystyna! I'm a programmer who loves to write elegant code.I've been working as a software developer since 2013. For most of this time, I've been engaged in teaching programming.I believe that with a proper explanation, everyone can understand even the most advanced topics related to programming.I hope I can show you how much fun programming can be and that you will enjoy it as much as I do!
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 397
    • duration 36:15:31
    • Release Date 2023/05/18