Dzisiaj jest 25 stycznia 2025 r.
Chcę dodać własny artykuł
Reklama

C Sharp

Chcę dodać własny artykuł

„`html

C# – Wprowadzenie

C# (C Sharp) to wieloparadygmatowy język programowania stworzony przez zespół kierowany przez Andersa Hejlsberga dla firmy Microsoft w latach 1998–2001. Programy napisane w C# są kompilowane do Common Intermediate Language (CIL), co pozwala na ich uruchamianie w różnych środowiskach, takich jak .NET Framework, .NET Core i Mono.

Nazwa i symbolika

Nazwa C# nawiązuje do języków C i C++ – symbol # przypomina cztery połączone operatory +, co sugeruje rozwinięcie w stosunku do C/C++. Czasami używana jest nazwa C♯, jednak z uwagi na ograniczenia klawiatur i czcionek, powszechnie stosuje się symbol #.

Cechy języka

  • Obiektowość: hierarchia klas z klasą nadrzędną System.Object.
  • Automatyczne zarządzanie pamięcią.
  • Właściwości i indeksery w klasach.
  • Delegaty i zdarzenia jako rozwinięcie wskaźników z C++.
  • Refleksja i atrybuty do analizy kodu w czasie działania.
  • Typy ogólne (generics) wprowadzające polimorfizm parametryczny.
  • Dynamiczne tworzenie kodu w czasie wykonywania.
  • Obszerna biblioteka klas BCL.
  • Obsługa komentarzy jednoliniowych i wielowierszowych.

Ewolucja C#

C# 2.0

  • Wprowadzenie typów generycznych.
  • Wprowadzenie słowa kluczowego yield.
  • Typy częściowe i metody anonimowe.
  • Typy Nullable dla obsługi wartości null.

C# 3.0

  • LINQ – zapytania zintegrowane w języku.
  • Proste inicjowanie obiektów i wyrażenia lambda.
  • Typy domniemane i anonimowe.
  • Rozszerzanie typów.

C# 4.0

  • Obsługa języków dynamicznych.
  • Parametry opcjonalne i argumenty nazwane.

C# 5.0

  • Wsparcie dla programowania asynchronicznego z użyciem async i await.

C# 6.0

  • Nowe możliwości formatowania łańcuchów znaków.
  • Filtry wyjątków w bloku catch.

C# 7.0

  • Funkcje lokalne i Value Tuples.
  • Pattern matching.

C# 8.0

  • Domyślne metody interfejsu i ulepszenia dopasowania wzorca.

C# 9.0

  • Typy rekordów i niemutowalne właściwości.

C# 10.0

  • Nowa składnia dla kontroli wartości null.
  • Global using i deklaracja przestrzeni nazw o zakresie pliku.

C# 11.0

  • Atrybuty generyczne i modyfikator required.

C# 12.0

  • Konstruktory podstawowe i wyrażenia kolekcji.

Przykładowe programy

Oto prosty program w C#, który prosi użytkownika o imię i je wyświetla:


using System;
public class PrzykladowaKlasa
{
public static void Main()
{
Console.WriteLine(„Podaj swoje imię:”);
string imie = Console.ReadLine();
Console.WriteLine($”Twoje imię to: {imie}”);
Console.WriteLine(„Wciśnij dowolny klawisz by zakończyć program.”);
Console.ReadKey();
}
}

Inny przykład to program symulujący kostkę do gry, obsługujący różne liczby ścianek:


int kostka;
Random liczba = new();
while (true)
{
Console.Write(„Iluścienną kostką chcesz grać? „);
kostka = int.Parse(Console.ReadLine());
if (kostka < 4) Console.WriteLine("Kostka ma minimum 4 ściany."); else break; } while (true) { Console.WriteLine($"Wylosowana liczba to: {liczba.Next(kostka) + 1}"); if (Console.ReadLine() == "q") break; }

„`