Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
C# a Python sdílejí podobné koncepty. Tyto známé konstruktory vám pomůžou naučit se jazyk C#, když už znáte Python.
- Objektově orientované: Python i C# jsou objektově orientované jazyky. Všechny koncepty týkající se tříd v Pythonu platí v jazyce C# i v případě, že se syntaxe liší.
- Multiplatformní: Python i C# jsou multiplatformní jazyky. Aplikace napsané v obou jazycích se můžou spouštět na mnoha platformách.
- Garbage collection: Oba jazyky využívají automatickou správu paměti prostřednictvím garbage collection. Runtime uvolní paměť objektům, na které se neodkazuje.
- Silně typované: Python i C# jsou silně typované programovací jazyky. Převod typu se neprovádí implicitně. Později jsou popsané rozdíly, protože jazyk C# je staticky napsaný, zatímco Python je dynamicky napsaný.
-
Async / Await: Funkce
asyncaawaitPythonu byla přímo inspirovaná podporouasyncaawaitv jazyce C#. -
Porovnávání vzorů a výrazů v Pythonu se podobá výrazu porovnávání vzorů v
matchC#. Použijete je ke kontrole komplexního datového výrazu, abyste zjistili, jestli odpovídá vzoru. -
Klíčová slova příkazů: Python a C# sdílejí mnoho klíčových slov, například
if,elsewhile, ,fora mnoho dalších. I když není všechna syntaxe stejná, existuje dostatek podobnosti, kterou můžete přečíst v jazyce C#, pokud znáte Python.
Když se seznámíte s jazykem C#, seznámíte se s těmito důležitými koncepty, ve kterých se jazyk C# liší od Pythonu:
-
Odsazení vs. tokeny: V Pythonu jsou nové řádky a odsazení prvotřídními syntaktickými prvky. V jazyce C# nejsou bílé znaky významné. Tokeny, jako je
;, oddělují příkazy, a další tokeny, jako{a}, řídí rozsah bloku proifa další blokové příkazy. Pro čitelnost však většina stylů kódování (včetně stylu používaného v těchto dokumentech) využívá odsazení k posílení rozsahů bloků deklarovaných{v a}. - Statické psaní: V jazyce C# obsahuje deklarace proměnné svůj typ. Změna přiřazení proměnné k objektu jiného typu generuje chybu kompilátoru. V Pythonu se typ může při opětovném přiřazení změnit.
- Typy s možnou hodnotou null: Proměnné jazyka C# můžou být nullable nebo nenulové. Nenulovatelný typ je takový, který nemůže být null (nebo nic). Vždy odkazuje na platný objekt. Naopak typ, který může být null, může odkazovat na platný objekt nebo na hodnotu null.
-
LINQ: Klíčová slova výrazu dotazu, která tvoří jazyk integrovaný dotaz (LINQ), nejsou klíčová slova v Pythonu. Knihovny Pythonu, jako jsou
itertools,more-itertoolsapy-linq, poskytují podobné funkce. - Obecné typy: Obecné typy jazyka C# používají statické psaní jazyka C# k vytváření kontrolních výrazů o argumentech zadaných pro parametry typu. Obecný algoritmus může potřebovat určit omezení, která musí typ argumentu splňovat.
A konečně existují některé funkce Pythonu, které nejsou v jazyce C#k dispozici:
- Strukturální (duck) typování: V jazyce C# mají typy názvy a deklarace. S výjimkou n-tic nejsou typy se stejnou strukturou zaměnitelné.
- REPL: C# nemá smyčku REPL (Read-Eval-Print Loop) pro rychlé prototypy řešení.
-
Významné prázdné znaky: Musíte správně používat složené závorky
{a}ke správnému označení rozsahu bloku.
Pokud znáte Python, je učení se jazyk C# plynulou cestou. Jazyky mají podobné koncepty a podobné idiomy, které se mají použít.