Záznam ze Vzdělávacího okénka HAVIT z 1. dubna 2020, kde Daniel Vršek povídal o reflexi a dynamics v .NET.
Nahrávka je publikována na našem HAVIT YouTube Channelu.
Záznam ze Vzdělávacího okénka HAVIT z 1. dubna 2020, kde Daniel Vršek povídal o reflexi a dynamics v .NET.
Nahrávka je publikována na našem HAVIT YouTube Channelu.
Dotaz studenta:
Na learnCS.org jsem narazil na tři skoro stejné kapitoly: arrays, lists, dictionaries. Nevidím v nich prakticky žádný rozdíl. Mám se učit všechny tři, nebo stačí pole(arrays)?
Moje odpověď (Level 100):
Záznam ze Vzdělávacího okénka HAVIT z 21. listopadu 2019, kdy nám Ondřej Václavek povídal o tvorbě vlastních C# Code Analyserů.
Nahrávka je publikována na našem HAVIT YouTube Channelu.
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.
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 } } }
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í $
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
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)
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; }
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)
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);
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; }
Záznam z mé přednášky pro konferenci WUG Days Brno ze 14. září 2019, kde jsem ukazoval pár performance tipů z praxe:
Slides a dema:
Nahrávka je publikována na našem HAVIT YouTube Channelu.
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.
Možná vás stejně jako mě nepotěší české hlášky .NET (přestože máte anglická Windows):
V aplikaci / došlo k chybě serveru.
Odkaz na objekt není nastaven na instanci objektu.
Popis: Při provádění aktuálního webového požadavku došlo k neošetřené výjimce. Další informace o chybě a o jejím původu v kódu naleznete v trasování zásobníku.Podrobnosti o výjimce: System.NullReferenceException: Odkaz na objekt není nastaven na instanci objektu.
Zdrojová chyba:
…
Zpravidla je to o souhře dvou okolností:
Thread.CurrentThread.Current[UI]Culture
máte nastaveno na cs-cz
.Prvního nastavení se při vývoji aplikace obecně zbavit nechcete. Prostě chcete, aby se zobrazovaly aplikační resources (.resx) české a používala česká globalizace (formátování čísel, data, řazení, …).
Druhé podmínky se dá však zbavit – český language pack odinstalovat.
Dříve se jednalo o samostatnou instalaci pro .NET, kterou jste mohli najít v Programs & Features ve Windows, dneska je to zpravidla Windows 10 Language Pack, který v sobě české texty chybových hlášek obsahuje.
Language Pack nejrychleji pošlete do věčných lovišť z příkazové řádky:
lpksetup /u
…potřebujete se dostat do čistého stavu:
Záznam z přednášky pro konferenci TechEd DevCon Praha ze 16. května 2019.
Záznam z přednášky pro konferenci TechEd DevCon Praha ze 14. května 2019.