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.
Tag Archives: C# Language
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.
C# ref returns [Jiří Činčura, HAVIT Vzdělávací okénko 28.3.2019]
Záznam ze Vzdělávacího okénka HAVIT ze 28. března 2019, kde Jiří Činčura povídal o ref returns v C#.
Tentokrát v angličtině pro lepší zapojení našich zahraničních pracovníků.
C# 8.0 – Přehled novinek [HAVIT Vzdělávací okénko, 21.2.2019]
Záznam ze Vzdělávacího okénka HAVIT z 21. února 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
Nahrávka je publikována na našem HAVIT YouTube Channelu.
.NET Tuple types, Deconstruction [Jiří Kanda, HAVIT Vzdělávací okénko, 14.2.2019]
Záznam ze Vzdělávacího okénka HAVIT ze 14. února 2019, kde Jirka Kanda povídal o tuplech, deconstruction a jejich použití pro vícenásobné návratové hodnoty z metod.
Nahrávka je publikována na našem HAVIT YouTube Channelu.