Wprowadzenie do języka C# i systemu .NET Framework

C# to elegancki i bezpieczny typ obiektu zorientowanego na język, który umożliwia deweloperom tworzenie bezpiecznych i niezawodnych aplikacji działających w różnych .NET Framework.Można użyć C# do utworzenia aplikacji klienta Windows, usług sieci Web opartych o XML, rozpowszechnianych komponentów, aplikacji typu klient-serwer, aplikacji baz danych i wielu, wielu innych.Visual C# zapewnia zaawansowany edytor kodu, dogodne projektowanie interfejsu użytkownika, zintegrowany debugger oraz wiele innych narzędzi ułatwiających rozwijanie aplikacji bazujących na języku C# oraz .NET Framework.

[!UWAGA]

Dokumentacja Visual C# zakłada zrozumienie podstawowych pojęć programowania.Jeśli jesteś kompletnym nowicjuszem, możesz chcieć poznać Visual C# Express, który jest dostępny w sieci Web.Możesz również korzystać z książek i zasobów sieci Web o C#, aby uzyskać praktyczne umiejętności programowania.

Język C#

Składnia języka C# jest bardzo ekspresyjna, ale również jest prosta i łatwa do nauczenia.Nawias klamrowy składni języka C# będzie rozpoznawalny dla każdego kto zna C, C++ lub Java.Deweloperzy, którzy nie znają żadnego z tych języków zazwyczaj mogą rozpocząć produktywną pracę w języku C# w bardzo krótkim czasie.Składnia C# upraszcza wiele złożoności C++ i udostępnia zaawansowane funkcje, takie jak typy wartości pustych, wyliczeń, delegatów, wyrażeń lambda i bezpośredni dostęp do pamięci, których nie ma w języku Java.C# obsługuje metody rodzajowe i typy, które zapewniają zwiększone bezpieczeństwo typu i wydajność oraz iteratory, które umożliwiają implementacje klasy kolekcji do zdefiniowania iteracji niestandardowych zachowań, które są proste w użyciu przez kod klienta.Wyrażenia Zapytanie o języku zintegrowanym (LINQ) sprawiają, że wpisane pogrubieniem zapytanie staje się konstrukcją języka pierwszej klasy.

Jako język zorientowany na obiekt, C# obsługuje pojęcia hermetyzacji, dziedziczenia i polimorfizmu.Wszystkie zmienne i metody, łącznie z Main metodą punktu wejścia aplikacji, są hermetyzowane w ramach definicji klasy.Klasy mogą dziedziczyć bezpośrednio z jednej klasy nadrzędnej, ale to może wprowadzić dowolną liczbę interfejsów.Metody, które zastępują metody wirtualne klasy nadrzędnej wymagają słowa kluczowego override jako sposobu uniknięcia przypadkowego przedefiniowania.W języku programowania C# struktura przypomina lekką klasę; jest typem przydzielonego stosu, który może implementować interfejsy, ale nie obsługuje dziedziczenia.

Oprócz powyższych zasad podstawowych dotyczących obiektów, język programowania C# ułatwia opracowanie składników oprogramowania za pośrednictwem kilku innowacyjnych konstrukcji językowych, w tym:

  • Hermetyzowane podpisów metody wywołanych delegatów, która umożliwia powiadomienie o zdarzeniach bezpiecznegop typu.

  • Właściwości, które służą jako akcesoria dla zmiennych prywatnego elementu członkowskiego.

  • Atrybuty, które zapewniają deklaracyjne metadane dotyczące typów w czasie wykonywania.

  • Komentarze wbudowanej dokumentacji XML.

  • Zapytanie o języku zintegrowanym (LINQ) który zapewnia wbudowane możliwości zapytania w różnych źródłach danych.

Jeśli musisz współdziałać z innymi programami systemu Windows, takimi jak obiekty COM lub macierzyste biblioteki DLL systemu Win32, możesz to zrobić w języku C# dzięki procesowi zwanemu „Interop”. Usługa międzyoperacyjna umożliwia programom C# niemal wszystko, co potrafi wykonać macierzysta aplikacja C++.C# obsługuje nawet wskazówki i pojęcie "niebezpieczny" kod dla tych przypadków, w których bezpośredni dostęp do pamięci jest absolutnie niezbędny.

Proces kompilacji C# jest prosty w porównaniu z C i C++ i bardziej elastyczny niż w języku Java.Nie ma osobnych plików nagłówka oraz wymagania odnośnie do określonej kolejności metod i typów.Plik źródłowy C# może zdefiniować dowolną liczbę klas, struktur, interfejsów i wydarzeń.

Dodatkowe zasoby C# są następujące:

Architektura platformy .NET Framework

C# programy uruchamiane w .NET Framework, integralnym składniku systemu Windows, która zawiera wirtualne wykonanie systemu o nazwie środowisko uruchomieniowe w trakcie wykonywania (CLR) i jednolity zbiór bibliotek klas.Środowisko CLR jest komercyjną implementacją firmy Microsoft wspólnej infrastruktury języka (CLI), międzynarodowego standardu, który jest podstawą tworzenia środowisk wykonywania i programistycznych, w których języki i biblioteki współpracują ze sobą.

Kod źródłowy napisany w języku C# jest skompilowany w języku pośrednim (IL), który jest zgodny ze specyfikacją interfejsu wiersza polecenia (CLI).Kod IL i zasoby, takie jak mapy bitowe i ciągi znaków, są przechowywane na dysku w pliku wykonywalnym zwanym zestawem, zwykle z rozszerzeniem exe lub dll.Zestaw zawiera manifest, który zawiera informacje dotyczące typów, wersji, kultury i wymagania dotyczące zabezpieczeń zestawu.

Kiedy wykonany zostaje program C#, zestaw jest ładowany do CLR, który może wykonać różne akcje zgodnie z informacją w manifeście.Następnie, jeżeli spełnione są wymagania bezpieczeństwa, CLR przeprowadza kompilację JIT, aby skonwertować kod IL do instrukcji maszyny macierzystej.Środowisko CLR oferuje również inne usługi związane z automatycznym wyrzucaniem elementów bezużytecznych, obsługą wyjątków i zarządzaniem zasobami.Kod, który jest wykonywany przez środowisko CLR jest czasami określany jako "kod zarządzany" w odróżnieniu od "kod niezarządzanego" który jest skompilowany w macierzystym języku maszynowym, który jest przeznaczony dla określonego systemu.Poniższy diagram ilustruje relacje kompilacji i uruchamiania plików kodu źródłowego C#, bibliotek klas .NET Framework, zespołów i środowiska CLR.

Z kod źródłowy C# do wykonywania maszynowego

Współdziałanie języków jest kluczowym elementem .NET Framework.Ponieważ kod IL produkowany przez kompilator C# jest zgodny do wspólnych specyfikacji typu (CTS), kod IL generowany z C# mogą współdziałać z kodem, który został wygenerowany z wersji .NET, Visual Basic, Visual C++ lub ponad 20 innymi językami zgodnymi z CTS.Jeden zestaw może zawierać wiele modułów napisanych w różnych językach .NET i typy mogą odwoływać się wzajemnie tak, jak gdyby były one napisane w języku.

Oprócz wykonywania usług .NET Framework obejmuje również rozbudowaną bibliotekę ponad 4000 klas zorganizowanych w przestrzenie nazw, które zapewniają szeroką gamę przydatnych funkcji do wszystkiego, od plików wejściowych i wyjściowych do manipulowania ciągami, analizy składni XML, formantów formularzy systemu WindowTypowa aplikacja C# używa biblioteki klas .NET Framework w dużym zakresie, aby obsłużyć typowe obowiązku „hydrauliczne".

Aby uzyskać więcej informacji programu .NET Framework, zobacz Overview of the Microsoft .NET Framework.

Polecane rozdziały książki

C# Language Fundamentals w Learning C# 3.0: Master the fundamentals of C# 3.0

C# and .NET Programming w Learning C# 3.0: Master the fundamentals of C# 3.0

Wprowadzenie do języka C# w Visual C# 2010 — rozpoczęcie

Visual Studio 2008 and C# Express 2008 w Learning C# 3.0: Master the fundamentals of C# 3.0

Zobacz też

Inne zasoby

Visual C#

Wprowadzenie do korzystania z Visual C# i Visual Basic