Záznam z přednášky pro konferenci TechEd Praha 2025, kde jsem ukazoval novinky v C# 13 v .NET 9 (společně s hlavními novinkami z předchozí verze C# 12 v .NET 8 a ochutnávkou chystaných novinek v C# 14 v .net 10).
Tag Archives: C# Language
I[Async]Enumerable [Jiří Kanda, Vzdělávací okénko, 31.10.2024]
Záznam ze Vzdělávacího okénka HAVIT z 31. října 2024, kde Jiří Kanda povídal o IEnumerable interface a jeho asynchronní verzi IAsyncEnumerable.
Novinky v .NET 8 – záznam a slides [Robert Haken, Vzdělávací okénko, 8.11.2023]
Záznam ze Vzdělávacího okénka HAVIT z 8. listopadu 2023, kde jsem telegraficky představoval novinky přicházející v „.NET 8 vlně“.
Slides
Novinky v C# 11, [ASP].NET 7 a Blazor – záznam, slides a dema [Robert Haken, FreshIT Praha 2023]
Záznam z přednášky pro konferenci FreshIT Praha z 30. března 2023, kde jsem povídal o novinkách v platformě .NET v poslední verzi 7.
Dema
Slides
Novinky v C# 10 [Alexandr Hájek, Vzdělávací okénko, 3.11.2021]
Záznam ze Vzdělávacího okénka HAVIT, kde Alex Hájek mluvil o novinkách v programovacím jazyce C# verze 10.
Nullable Reference Types [Jiří Kanda, HAVIT Vzdělávací okénko, 24.10.2019]
Záznam ze Vzdělávacího okénka HAVIT z 24. října 2019, kde Jiří Kanda povídal o nullable reference types v C# 8.0 a jejich využitelnosti na našich projektech.
Nahrávka je publikována na našem HAVIT YouTube Channelu.
C# – Přehled konstrukcí pro začátečníky 1
Základní struktura (konzolové) aplikace
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args) // metoda, která se spustí po startu aplikace
{
Console.WriteLine("Hello World!"); // výpis textu na obrazovku
}
}
}
Práce s konzolí – vstup, výstup
Console.Write("Blah, blah."); // výpis textu bez odřádkování
Console.WriteLine("Hello World!"); // výpis textu s odřádkováním
string s1 = Console.ReadLine(); // přečtení řádku do proměnné s1
Console.WriteLine($"Ahoj {s1}, vítám tě!"); // skládání textu s proměnnými pomocí $
Proměnné, datové typy a jejich konverze
string text = "Můj text"; // text char c = 'a'; // znak int i = 10; // celé číslo (Int32) decimal d = 10.20m; // desetinné číslo double dbl = 3.14159; // číslo s plovoucí desetinnou čárkou bool b = true; // logická hodnota - pravda / nepravda var x = 10; // zkrácený zápis, typ proměnné je automaticky odvozen int i2 = Convert.ToInt32(text); // Convert zařídí konverzi mezi základními typy
Aritmetické operace, matematika
i = 1 + 10; i = 10 - 1; i = 10 / 2; // dělení i = 10 * 20; // násobení i = 11 % 7; // zbytek po celočíselném dělení (= 4) i++; // přičte jedničku i--; // odečte jedničku // Math = matematické funkce i = Math.Abs(-10); // absolutní hodnota (10) d = Math.Round(1.25); // zaokrouhlední (1) d = Math.Pow(2, 4); // mocnina (16) i = Math.Min(1, 5); // minumum (Max je maximum)
Podmínka, přepínač
if (i == 10)
{
// podmínka splněna
}
else
{
// podmínka nesplněna
}
switch (i)
{
case 1:
// i je 1
break;
case 2:
case 3:
// i je 2´nebo 3
break;
default:
// v ostatních případech
break;
}
Porovnávání, logické operace do podmínek
if (a == b) // rovnají se if (a != b) // nerovnají se if (a < b) // menší než if (a <= b) // menší nebo rovno if ((a == 1) && (b == 2)) // a zároveň (AND) if ((a == 1) || (b == 2)) // nebo (OR) if (!(a == 1)) // negace (NOT)
Cykly
for (int i = 0; i < 10; i++)
{
// opakuj 10x
}
while (i < 10)
{
// opakuj, dokud je podmínka splněna
}
do
{
// opakuj (alespoň jednou), dokud je podmínka splněna
}
while (i < 10);
Vytvoření vlastní metody
static void Main(string[] args)
{
int vysledek = Spocti(10, 15); // vysledek bude 40
}
static int Spocti(int a, int b) // void, pokud žádný výsledek nevracíme
{
int c = a + 2 * b;
return c;
}
C# 8.0 Novinky a C# 9.0 Candidates [WUG Days Brno, 15.9.2019]
Před pár hodinami byl vydán finální release .NET Core 3.0 a C# 8.0. Přináším Vám začerstva záznam z mé přednášky pro konferenci WUG Days Brno z 15. září 2019, kde jsem ukazoval chystané novinky v C# 8.0:
- Index, Range
- Switch Expressions
- Pattern Matching
- Static Local Function
- Using Declarations
- Nullable Reference Types
- Async Streams, Async Dispose
- (Target Typed New)
- Default Interface Methods
- Null Coallescing Operator
- Readonly Struct Members
- Disposable ref Structs
- Interpolated Verbatim Strings
- Unmanaged Constructed Types
…a plány na C# 9.0:
- Primary Constructors, Records
- pattern-based with expressions
- Top level statements and member declarations
- Covariant return types
- Nullable-Enhanced Common Type
- Target typed null coalescing (??) expression
- and, or, and not patterns
- Switch expression as a statement expression
- Comparison operators in switch cases
- Native-Sized Number Types
- Extension everything
Slides a dema:
Nahrávka je publikována na našem HAVIT YouTube Channelu.
Programátorská hádanka: this = new Foo();
Dokážete si představit situaci, kdy následující kód půjde zkompilovat a poběží?
public void Reset()
{
this = new Foo();
}
Řešení: https://dotnetfiddle.net/JheuMu.
C# 8.0, Visual Studio a .NET vNext – záznam, slides a dema [TechEd DevCon Praha 2019]
Záznam z přednášky pro konferenci TechEd DevCon Praha ze 14. května 2019.