W C# nawet tzw. typy prymitywne (int
, char
, bool
, string
itd.) są reprezentowane jako struktury (struct) lub klasy. To oznacza, że:
- mają członków: metody, właściwości i stałe,
- możemy je wykorzystywać tak, jak obiekty – mimo że są to „proste” typy.
Członkowie typu to:
- ✅ właściwości (np.
int.MaxValue
) - ✅ metody (np.
char.IsDigit()
) - ✅ stałe (np.
true
,false
) - ✅ operatory (np.
+
,==
,!
, itd.)
Najczęściej używane członkowie typów wbudowanych
int
(System.Int32)
Typ do przechowywania liczb całkowitych 32-bitowych.
Popularni członkowie:
int.MaxValue
– największa możliwa wartośćint
int.MinValue
– najmniejsza możliwa wartośćint
int.Parse(string)
– konwertuje tekst do liczbyint.TryParse(string, out int)
– próbuje przekonwertować tekst naint
, bez błędu
Przykład:
int max = int.MaxValue;
int min = int.MinValue;
Console.WriteLine("Max int: " + max);
Console.WriteLine("Min int: " + min);
string tekst = "123";
int liczba = int.Parse(tekst); // konwersja string do int
Zastosowanie TryParse – bezpieczne:
Console.WriteLine("Podaj liczbę:");
string wejscie = Console.ReadLine();
if (int.TryParse(wejscie, out int wynik))
{
Console.WriteLine("Poprawna liczba: " + wynik);
}
else
{
Console.WriteLine("Niepoprawna liczba!");
}
char
(System.Char)
Reprezentuje pojedynczy znak.
Popularni członkowie:
char.IsDigit(char)
– czy znak to cyfrachar.IsLetter(char)
– czy znak to literachar.IsWhiteSpace(char)
– czy znak to biały znak (np. spacja, tabulator)char.IsPunctuation(char)
– czy znak to znak interpunkcyjnychar.ToUpper(char)
/char.ToLower(char)
– zamiana na wielką/małą literę
Przykład:
char myChar = 'z';
bool isWhiteSpace = char.IsWhiteSpace(myChar); // false
bool isDigit = char.IsDigit(myChar); // false
bool isPunctuation = char.IsPunctuation(myChar); // false
bool isLetter = char.IsLetter(myChar); // true
Console.WriteLine("Czy litera? " + isLetter);
Console.WriteLine("Wielka litera: " + char.ToUpper(myChar));
string
(System.String)
Typ referencyjny przechowujący tekst.
Popularni członkowie:
Length
– długość tekstuToUpper()
/ToLower()
– zamiana na wielkie/małe literyContains(string)
– czy zawiera fragmentStartsWith(string)
/EndsWith(string)
– czy zaczyna/kończy się na podany tekstSubstring(start, length)
– fragment tekstuTrim()
– usuwa białe znaki z początku i końcaReplace(stary, nowy)
– zamienia fragmenty tekstu
Przykład:
string imie = " Ania ";
Console.WriteLine("Długość: " + imie.Length); // 7
Console.WriteLine("Po Trim(): " + imie.Trim()); // "Ania"
Console.WriteLine("Czy zawiera 'ni'? " + imie.Contains("ni")); // true
Console.WriteLine("Dużymi literami: " + imie.ToUpper());
bool
(System.Boolean)
Typ logiczny – przyjmuje tylko wartości true
lub false
.
Najczęściej używany w warunkach i pętlach.
Przykład:
bool warunek = (5 > 3); // true
Console.WriteLine("Warunek: " + warunek);
if (!warunek)
{
Console.WriteLine("Nieprawda");
}
double
, float
, decimal
Typy zmiennoprzecinkowe (różnią się zakresem i precyzją):
float
: mniej dokładny (32-bit)double
: domyślny zmiennoprzecinkowy (64-bit)decimal
: bardzo dokładny (128-bit) – używany np. w finansach
Popularni członkowie:
double.NaN
– nie liczbadouble.IsNaN()
,IsInfinity()
– sprawdzanie wyjątkowych wartościMath.Round()
,Math.Sqrt()
– funkcje matematyczne (z klasyMath
)
Przykład:
double a = 3.14159;
double b = Math.Round(a, 2); // zaokrąglenie do 2 miejsc
Console.WriteLine("Zaokrąglone: " + b);
Praktyczne ćwiczenie
Sprawdź znak:
Console.Write("Podaj znak: ");
char znak = Console.ReadKey().KeyChar;
Console.WriteLine();
Console.WriteLine("Czy litera? " + char.IsLetter(znak));
Console.WriteLine("Czy cyfra? " + char.IsDigit(znak));
Console.WriteLine("Czy biały znak? " + char.IsWhiteSpace(znak));
Console.WriteLine("Czy interpunkcja? " + char.IsPunctuation(znak));
Podsumowanie
Typ | Członkowie | Przykład |
---|---|---|
int | MaxValue , MinValue , Parse() , TryParse() | int.MaxValue |
char | IsDigit() , IsLetter() , IsWhiteSpace() , ToUpper() | char.IsLetter('A') |
string | Length , ToUpper() , Contains() , Trim() | "Ania".ToUpper() |
bool | wartości true i false | bool wynik = (5 > 3); |
double | Math.Round() , IsNaN() | Math.Sqrt(25) |