250 likes | 386 Views
C# Platforma .NET CZ.1. Kuba Ostrowski. metro. agenda historia jak to działa CLR CTS CLI CLS prosty program pytania. historia. dążenie do zbudowania języka w pełni obiektowego, przenośnego J# liczne procesy sądowe, wspierany tylko do 2017 roku. F# nie wypał. C#
E N D
C# Platforma .NET CZ.1 Kuba Ostrowski
agendahistoriajak to działaCLR CTS CLI CLSprosty programpytania
dążenie do zbudowania języka w pełni obiektowego, przenośnego J# liczne procesy sądowe, wspierany tylko do 2017 roku. F# nie wypał.
C# język zbudowany przez Anders Hejlsberg w 2001 roku. Język flagowy platformy .NET.
.NET Framework - 2002 środowisko uruchomieniowe, zapewniające kompilacje w locie wspólnego języka CIL do kodu wykonywalnego na danej maszynie.
platforma jak to działa – CLR – • - kompilacja do CIL • dekompilacja w locie przy użyciu silniczka „Jitter” (od Just-In-Time)
platforma jak to działa • mscoree.dll • mscorlib.dll
CLR (commonlanguageruntime) podstawa całej platformy .NET zapewnia dekompilacje w locie. CLS (commonlanguagespecification) zbiór reguł które określony kompilator .NET powinien obsługiwać
CTS (commontypespecification) Wspólna specyfikacja typów.
CTS System.Object - uchwyty ValueType - struktury
pierwszy program using System; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespace ConsoleApplication1 { class Program { staticvoidMain(string[] args) { } } } odwołania – do przestrzeni nazw namespace – przestrzeń nazw, określa położenie
pierwszy program [dostęp]public [co to?]class[nazwa]Program { [zasięg – składowe, metody] staticMain(string[] args) { [instrukcje] } }
pierwszy program [dostęp] - public (dla klas/składowych) – publiczny, swobodny dostęp poza klasą(składowe),poza przestrzenią(klasy). - private (dla składowych) – prywatny, brak dostępu poza klasą (domyślnie). - internal (dla klas) – wewnętrzny, tylko w danym zakresie, przestrzeni nazw.
pierwszy program [co to?] czyli co deklarujemy? Nową klasę class, a może typ wyliczeniowy enum. [zasięg – składowe] czyli obiekty które klasa może zawierać, funkcje które może wykonywać. np: [dostęp] public [typ]int[nazwa] zmienna;
pierwszy program public double inna_zmienna; //komentarz na 1linijke /* komentarz na wiele linijek */ // tworzenie metod, funkcji public [co_zwraca] voidnazwa ([typ]int[nazwa]arg) { //instrukcje, do składowych oraz argumentów //odwołujemy się po nazwie }
pierwszy program class Program { staticvoidMain(string[] args) { // funkcja do wyświetlania tekstu w konsoli Console.WriteLine("Hello Word"); //funkcja do pobierania znaku z klawiatury Console.ReadKey(); } }