Fiszki C#

Sponsor kategorii

C# to wszechstronny, obiektowy język programowania, stworzony przez Andersa Hejlsberga w Microsoft. Jest to kluczowy język platformy .NET, zaprojektowany do tworzenia szerokiej gamy aplikacji, od desktopowych po webowe i mobilne. C# charakteryzuje się silnym typowaniem i bogatym zestawem funkcji, umożliwiając efektywne tworzenie zarówno prostych skryptów, jak i złożonych systemów enterprise. Język ten oferuje zaawansowane mechanizmy, takie jak LINQ, asynchroniczne programowanie i garbage collection, zapewniając programistom narzędzia do pisania bezpiecznego, wydajnego i łatwego w utrzymaniu kodu. C# wspiera również integrację z różnymi technologiami Microsoftu i ciągły rozwój, zachowując przy tym spójność składni i umożliwiając tworzenie nowoczesnych, skalowalnych aplikacji na różnych platformach.

Nasza aplikacja z fiszkami zawiera starannie dobrane pytania rekrutacyjne z C# wraz z wyczerpującymi odpowiedziami, które skutecznie przygotują Cię do każdej rozmowy kwalifikacyjnej wymagającej znajomości C#. IT Flashcards to nie tylko narzędzie dla osób szukających pracy - to doskonały sposób na utrwalanie i testowanie swojej wiedzy, niezależnie od Twoich aktualnych planów zawodowych. Regularne korzystanie z aplikacji pomoże Ci być na bieżąco z najnowszymi trendami związanymi z C# i utrzymać swoje umiejętności na wysokim poziomie.

Przykładowe fiszki C# z naszej aplikacji

Pobierz naszą aplikację w App Store lub Google Play, aby uzyskać więcej darmowych fiszek lub subskrybuj dostęp do wszystkich fiszek.

Co to jest przestrzeń nazw w C# i do czego służy?

Przestrzeń nazw (ang. namespace) w C# jest sposóbem na grupowanie powiązanych klas, struktur, interfejsów, a także innych przestrzeni nazw. Dzięki przestrzeniom nazw, możliwe jest uniknięcie konfliktów nazw pomiędzy klasami, które mogą mieć tę samą nazwę, ale są częścią różnych przestrzeni nazw.

Przestrzenie nazw są deklarowane przy użyciu słowa kluczowego "namespace" i tworzą nowy zakres, w którym znajdują się klasy, struktury oraz interfejsy:
csharp
namespace MyNamespace
{
class MyClass
{
}
}
Aby odwołać się do klasy znajdującej się w danej przestrzeni nazw, należy użyć pełnej nazwy klasy, czyli nazwy przestrzeni nazw, kropki i nazwy klasy:
csharp
MyNamespace.MyClass myObject = new MyNamespace.MyClass();
Do skrócenia zapisu oraz ułatwienia korzystania z klas, struktur czy interfejsów z danej przestrzeni nazw, C# oferuje słowo kluczowe "using", które pozwala na importowanie przestrzeni nazw do danego pliku:
csharp
using MyNamespace;

MyClass myObject = new MyClass();
```
W powyższym przykładzie, dzieki użyciu słowa kluczowego "using", nie trzeba było używać pełnej nazwy klasy `MyClass`. Przestrzeń nazw została zaimportowana, co pozwoliło na bezpośrednie użycie klasy `MyClass`.

Jak zdefiniować zmienną w C#?

C# to silnie typowany język programowania, co oznacza, że każda zmienna musi mieć określony typ. Oto, jak zdefiniować zmienną w C#.

Pierwsza rzecz, którą musisz zrobić, to zadeklarować typ zmiennej. Możesz to zrobić, pisząc nazwę typu, a następnie nazwę zmiennej. Na przykład:
int numberOfApples;

W tym przypadku, `numberOfApples` to zmienna, która może przechowywać wartości typu całkowitego (`int`). Zmienna ta jest jeszcze niezainicjalizowana, co oznacza, że nie ma jeszcze przypisanej wartości.

Możesz również zainicjalizować zmienną podczas jej deklaracji, jak pokazano poniżej:
int numberOfApples = 5;

W tym przypadku, zmienna `numberOfApples` została zainicjalizowana wartością 5.

C# wprowadził również mechanizm typu `var`, który pozwala kompilatorowi na określenie typu zmiennej na podstawie wartości przypisanej podczas inicjalizacji. Zmienną tę można zainicjalizować w ten sposób:
var numberOfApples = 5; // Kompilator określi, że numberOfApples jest typu int

Pamiętaj jednak, że zmienna zadeklarowana za pomocą `var` musi być zainicjalizowana podczas deklaracji.

Wyjaśnij różnicę między typami wartościowymi a referencyjnymi w C#

Typy wartościowe i referencyjne w C# to dwa zasadnicze rodzaje typów, które możemy operować w tym języku programowania.

Typy wartościowe to takie, które przechowują bezpośrednio właściwą wartość. Oznacza to, że kiedy przypisujesz wartość do zmiennej tego typu, tworzysz fizyczną kopię tej wartości. Zmiana jednej kopii nie wpływa na inną. Typy wartościowe są przechowywane na stosie. Przykładami typów wartościowych są typy podstawowe (niezależne od struktur) takie jak int, float, bool, struktury, typy wyliczeniowe.
int val1 = 10;
int val2 = val1;
val1 = 20;

// Output: 10, ponieważ zmiana wartości val1 nie wpływa na val2.
Console.WriteLine(val2);

Typy referencyjne przechowują zaś odwołanie (referencję) do miejsca, w którym przechowywana jest rzeczywista wartość, a nie samą wartość. Dwie zmienne mogą być referencją do tego samego obiektu, więc zmiana wartości jednej ze zmiennych wpływa na drugą. Typy referencyjne są przechowywane na stercie. Przykłady to klasy, delegacje, interfejsy.
StringBuilder sb1 = new StringBuilder("Hello");
StringBuilder sb2 = sb1;
sb1.Append(" World");

// Output: "Hello World", ponieważ obie zmienne wskazują na ten sam obiekt.
Console.WriteLine(sb2);

Czym jest Nullable w C# i jak z niego korzystać

Nullable to typ w C#, który umożliwiaja zastosowanie wartości null dla typów wartościowych. Zwykle typy wartościowe, takie jak int, float, bool, struct, enum itp., nie mogą być null. Ale dzięki typom Nullable, możemy przypisać null do tych typów danych.

Aby stworzyć zmienną Nullable, możemy użyć operatora `?` po typie wartościowym. Na przykład:
int? i = null;

Możemy także skorzystać z generycznej struktury Nullable:
Nullable<int> i = null;

System.Nullable dostarcza kilka ważnych właściwości, które pomagają przy pracy z typami Nullable:

- `HasValue`: Właściwość zwraca true, jeżeli zmienna zawiera wartość, w przeciwnym wypadku false.
- `Value`: Właściwość zwraca wartość zmienną, jeżeli ta zawiera jakąkolwiek wartość.
int? myNumber = null;
Console.WriteLine(myNumber.HasValue); // false
myNumber = 10;
Console.WriteLine(myNumber.HasValue); // true
Console.WriteLine(myNumber.Value); // 10

Pamiętaj jednak, że próba dostępu do właściwości Value, gdy zmienna nie ma przypisanej wartości, skutkują wyjątkiem `InvalidOperationException`. Dlatego zawsze korzystaj z `HasValue`, zanim uzyskasz dostęp do wartości.

Pobierz IT Flashcards Teraz

Poszerz swoją wiedzę z C# z naszymi fiszkami.
Od podstaw programowania po opanowanie zaawansowanych technologii, IT Flashcards to Twój paszport do doskonałości IT.
Pobierz teraz i odkryj swój potencjał w dzisiejszym konkurencyjnym świecie techniki.