Megosztás a következőn keresztül:


Ütemterv a Python-fejlesztőknek a C tanulásához#

A C# és a Python hasonló fogalmakat használ. Ezek az ismerős szerkezetek segítenek a C# elsajátításában, ha már ismeri a Pythont.

  1. Objektumorientált: Mind a Python, mind a C# objektumorientált nyelv. A Pythonban az osztályokra vonatkozó összes fogalom C#-ban is érvényes, még akkor is, ha a szintaxis eltér.
  2. Platformfüggetlen: A Python és a C# platformfüggetlen nyelvek. A mindkét nyelven írt alkalmazások számos platformon futtathatók.
  3. Szemétgyűjtés: Mindkét nyelv automatikus memóriakezelést alkalmaz szemétgyűjtéssel. A futtatókörnyezet visszaszerzi a memóriát a nem hivatkozott objektumokból.
  4. Erősen típusos: A Python és a C# is erősen típusos nyelv. A típus kényszerítése nem implicit módon történik. Vannak különbségek később, mivel a C# statikusan van beírva, míg a Python dinamikusan van beírva.
  5. Async / Await: A Python async és await funkcióját közvetlenül a C# async és await támogatása ihlette.
  6. Mintaegyezés: A Python kifejezése match és a mintaegyezés hasonló a C#mintaegyeztető switch. Segítségével megvizsgálhat egy összetett adatkifejezést, hogy megállapítsa, megfelel-e egy mintának.
  7. Utasítási kulcsszavak: A Python és a C# számos kulcsszót oszt meg, például if, else, whilefor, és sok más. Bár nem minden szintaxis azonos, elég hasonlóság van ahhoz, hogy a C#-t elolvassa, ha ismeri a Pythont.

A C# elsajátításához megismerheti azokat a fontos fogalmakat, amelyekben a C# eltér a Pythontól:

  1. Behúzás és tokenek: A Pythonban az újsorok és a behúzás első osztályú szintaktikai elemek. A C#-ban a térköz nem jelentős. Tokenek, mint például ; elválasztják az utasításokat, és más tokenek, például { és }, vezérlik a blokk hatókörét if és más blokkutasításokat. Az olvashatóság érdekében azonban a legtöbb kódolási stílus (beleértve az ezekben a dokumentumokban használt stílust is) behúzást használ, hogy kiemelje a { és } által meghatározott blokktartományokat.
  2. Statikus gépelés: A C#-ban a változó deklarációja tartalmazza annak típusát. Ha egy változót egy másik típusú objektumhoz rendel, fordítóhiba keletkezik. A Pythonban a típus az újbóli hozzárendeléskor változhat.
  3. Null értékű típusok: A C# változók lehetnek null értékűek vagy nem null értékűek. A nem nullázható típus az, amely nem lehet null (vagy semmi). Mindig érvényes objektumra hivatkozik. Ezzel szemben a null értékű típus érvényes objektumra vagy nullra hivatkozhat.
  4. LINQ: A Language Integrated Queryt (LINQ) alkotó lekérdezési kifejezési kulcsszavak nem kulcsszavak a Pythonban. A Python-kódtárak azonban hasonló itertoolsmore-itertoolspy-linq funkciókat biztosítanak.
  5. Generikumok: A C# generikumok a C# statikus típusokat használják a típusparaméterekhez megadott argumentumok érvényesítése érdekében. Előfordulhat, hogy egy általános algoritmusnak meg kell adnia az argumentumtípusnak megfelelő korlátozásokat.

Végül a Python egyes funkciói nem érhetők el a C#-ban:

  1. Szerkezeti (kacsa) gépelés: A C#-ban a típusok nevei és deklarációi vannak. A csuplok kivételével az azonos szerkezetű típusok nem cserélhetők fel.
  2. REPL: A C#-nak nincs Read-Eval-Print Loop (REPL) a gyors prototípus-megoldásokhoz.
  3. Jelentős térköz: Helyesen kell használnia a kapcsos zárójeleket {, hogy jelölje a blokk hatókörét }.

A C# tanulása zökkenőmentes, ha ismeri a Pythont. A nyelvek hasonló fogalmakkal és hasonló kifejezésekkel rendelkeznek.