Summary of "C# 2025 С НУЛЯ ДО ПРОФИ | СЛИВ ЛУЧШЕГО КУРСА"

Overview

This is a structured summary of the C# course video (auto-generated subtitles). It lists the main concepts taught, key rules and behaviors, step-by-step methodologies used in example programs, and the speakers identified.


Course & instructor


Intro to programming and C


Setting up Visual Studio and creating a project

  1. Download/install Visual Studio Community (examples in the course used 2019/2022).
  2. During installation, select needed workloads (e.g., “.NET desktop development”, ASP.NET/web, Game dev with Unity, language packs).
  3. Create a new project:
    • Search for “Console Application (.NET)”.
    • Set name and path → Create.
  4. If the console template is missing, rerun the Visual Studio installer and add “.NET desktop development”.

Running console programs


Basic syntax and first program


Variables and data types


Operators and arithmetic behavior


Strings: concatenation and interpolation


Type conversion / parsing


Console encoding and regional settings


Logical operators and compound conditions


Conditional control flow


Loops


Random numbers


Arrays


Example programs — methodology & steps

Below are concise step-by-step methodologies used in the course examples.

Hello World and console basics

  1. Create console project.
  2. Add: Console.WriteLine("Hello World");
  3. Run with Ctrl+F5.

Create a console project (Visual Studio)

  1. Create Project → search “console” → select .NET Console Application → Next.
  2. Name & path → Create.
  3. If missing templates, add “.NET desktop development” workload.

Health / armor damage calculation (percent-based)

  1. Inputs: Health (int), ArmorPercent (int), Damage (int).
  2. Convert percent to fraction carefully to avoid integer division:
    • Use float percentConverter = 100f;
    • actualDamage = Damage * (ArmorPercent / percentConverter) or cast operands to float.
  3. newHealth = Health - actualDamage.

Simple store (buy food)

  1. Inputs: Money (int), pricePerUnit (int), quantityWanted (int).
  2. Check affordability: canPay = Money >= quantityWanted * pricePerUnit.
  3. Implement safe subtraction:
    • Money -= (Convert.ToInt32(canPay) * (quantityWanted * pricePerUnit));
    • If canPay == false, subtract zero.
  4. Output updated Money and owned items.

Currency exchanger (rubles/dollars)

  1. Inputs: rublesBalance (float), dollarsBalance (float), operation choice (string).
  2. Example rates: RUB_TO_USD = 64, USD_TO_RUB = 66.
  3. If choice == “1” (rubles → dollars):
    • Ask amount; check rublesBalance >= amount.
    • rublesBalance -= amount;
    • dollarsBalance += amount / RUB_TO_USD;
  4. If choice == “2” (dollars → rubles): similar logic.
  5. Use Convert.ToSingle(Console.ReadLine()) for floats; use switch for operation choice.

Password check & input with attempts

Guess-the-number game

  1. Random r = new Random();
  2. secret = r.Next(0, 101); (0..100).
  3. attempts = 5;
  4. while (attempts > 0) { attempts--; read guess; if guess == secret → win & break; else continue }
  5. If not found after attempts, reveal secret.

Bank deposit compound interest simulation

  1. Inputs: initialMoney (float), years (int), percent (float).
  2. For each year:
    • money += money * percent / 100;
  3. Optionally pause between years with Console.ReadKey().

Simple duel (player vs enemy)

  1. Initialize playerHealth, playerDamage, enemyHealth, enemyDamage.
  2. while (playerHealth > 0 && enemyHealth > 0) { playerHealth -= enemyDamage; enemyHealth -= playerDamage; }
  3. After loop, check outcomes:
    • both <= 0 → draw
    • playerHealth <= 0 → enemy wins
    • enemyHealth <= 0 → player wins

Gladiator randomized fights

  1. Randomize attributes for both gladiators (health, damage, armor) using one Random instance.
  2. While both alive apply damage accounting for armor:
    • effectiveDamage = damage * (100 - armor) / 100
  3. Update health, print statuses, break when one dies, then print result.

Library management (2D array of strings)

  1. Store library in string[,] books = { { "Author", "Title" }, ... } or rows/columns layout.
  2. Finding by index:
    • Prompt user for 1-based indices → convert to 0-based (index - 1) → print books[row, col].
  3. Finding by author:
    • Iterate all rows/columns, compare with ToLower()/ToUpper() for case-insensitive matching.
  4. Use a menu (switch) for display, update, exit; guard against invalid inputs.

Arrays resizing (manual)

  1. Create a new temp array with length old.Length + 1.
  2. Copy elements from old to temp via loop.
  3. Set temp[last] = newValue.
  4. Assign temp to the original variable.
  5. (Alternative: use List<T> for dynamic sizing.)

Miscellaneous console capabilities


Key gotchas and practical tips


Speakers / sources (from subtitles)

Note: demo names used in examples (Pushkin, Lermontov, Yesenin, Robert Martin, Stephen King, Bram Stoker, etc.) are sample data, not speakers.


If you want, I can: - Extract step-by-step code snippets for one or more example programs (e.g., Guess-the-number, currency exchanger, deposit calculator). - Create a short C# cheatsheet with the most important syntax shown. - Produce a compact “getting started” checklist for installing Visual Studio and creating your first console app.

Which option would be most helpful?

Category ?

Educational


Share this summary


Is the summary off?

If you think the summary is inaccurate, you can reprocess it with the latest model.

Video