Przyrostki w praktyce; rzutowanie a konwersja; tworzenie obiektów w C# 6
Poznaj praktyczne zastosowanie przyrostków liczbowych, różnicę między rzutowaniem a konwersją oraz sposób zapisu tworzenia obiektów zgodnego z C# 6 (bez target-typed new).
Przyrostki w praktyce; rzutowanie a konwersja; tworzenie obiektów w C# 6 to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 3 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 3 lekcji w sumie.
Przegląd lekcji
Cel: poprawnie używać sufiksów liczbowych, wiedzieć, kiedy rzutować, a kiedy konwertować, oraz tworzyć obiekty w C# 6 bez składni new zależnej od typu docelowego.
Sufiksy w praktyce
Sufiksy: należy używać f dla float (3.14f), m dla decimal (10m) oraz L dla long (123L). Typy należy dobierać odpowiednio do wymaganej precyzji i zakresu.
Podstawy rzutowania
Rzutowanie zmienia sposób, w jaki kompilator interpretuje wartość; jawne rzutowanie może spowodować utratę danych.
using System;
public class Program
{
public static void Main(string[] args)
{
// Implicit numeric promotion (safe)
int i = 42;
double d = i; // implicit cast to double
Console.WriteLine("d = " + d);
// Explicit cast (possible data loss)
double pi = 3.99;
int n = (int)pi; // truncates
Console.WriteLine("n = " + n);
}
}
Podstawy konwersji
Konwersja przekształca dane: TryParse jest najbezpieczniejszą opcją, a Parse i Convert mogą zgłaszać wyjątki dla nieprawidłowych danych wejściowych.
using System;
public class Program
{
public static void Main(string[] args)
{
string text = "123";
int value;
// TryParse: safe conversion (no exception)
bool ok = int.TryParse(text, out value);
Console.WriteLine("ok=" + ok + " value=" + value);
// Convert: throws if invalid
int v2 = Convert.ToInt32(3.7); // rounds to 4
Console.WriteLine("v2=" + v2);
// Parse: throws if invalid
int v3 = int.Parse("42");
Console.WriteLine("v3=" + v3);
}
}
Tworzenie obiektów w C# 6
W C# 6 nie ma składni new zależnej od typu docelowego: typ należy zapisać jawnie po lewej stronie lub w konstruktorze. W przypadku starszych kompilatorów należy unikać nowszej składni.
using System;
// Simple point class
public class Point
{
public int X;
public int Y;
}
public class Program
{
public static void Main(string[] args)
{
// C# 6 style: specify the type on the left or right
Point p1 = new Point();
p1.X = 1; p1.Y = 2;
var p2 = new Point(); // type inferred from constructor
p2.X = 3; p2.Y = 4;
Console.WriteLine("p1=(" + p1.X + "," + p1.Y + ")");
Console.WriteLine("p2=(" + p2.X + "," + p2.Y + ")");
}
}
Wszystko razem
Warto porównać wyniki rzutowania i konwersji oraz zobaczyć wszystkie sufiksy w jednym miejscu. W przypadku danych wprowadzanych przez użytkownika należy preferować TryParse.
using System;
public class Program
{
public static void Main(string[] args)
{
// Suffixes
float f = 2.5f;
decimal price = 9.99m;
long big = 10000000000L;
Console.WriteLine("f=" + f + " price=" + price + " big=" + big);
// Cast vs Convert
double d = 5.8;
int viaCast = (int)d; // 5 (truncate)
int viaConvert = Convert.ToInt32(d); // 6 (round)
Console.WriteLine("viaCast=" + viaCast + " viaConvert=" + viaConvert);
// TryParse safety
int n;
bool ok = int.TryParse("oops", out n);
Console.WriteLine("TryParse ok=" + ok + " n=" + n);
}
}
Rzutowanie a konwersja
Podsumowanie
Podsumowanie: należy używać sufiksów f/m/L, rzutować tylko wtedy, gdy jest to bezpieczne, oraz konwertować, gdy potrzebna jest nowa reprezentacja danych, najlepiej za pomocą TryParse. W C# 6 typy trzeba deklarować jawnie — nie ma składni new zależnej od typu docelowego.
Ucz się C# dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 93
- Lekcje
- 346
Często zadawane pytania
Czy lekcja „Przyrostki w praktyce; rzutowanie a konwersja; tworzenie obiektów w C# 6” jest bezpłatna?
Tak — pełny tekst „Przyrostki w praktyce; rzutowanie a konwersja; tworzenie obiektów w C# 6” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Przyrostki w praktyce; rzutowanie a konwersja; tworzenie obiektów w C# 6”?
Poznaj praktyczne zastosowanie przyrostków liczbowych, różnicę między rzutowaniem a konwersją oraz sposób zapisu tworzenia obiektów zgodnego z C# 6 (bez target-typed new). Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć C# Academy?
Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 3.
Ile czasu zajmuje lekcja „Przyrostki w praktyce; rzutowanie a konwersja; tworzenie obiektów w C# 6”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?
Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wartości a referencje; literały; inferencja var; const/readonly
- Operatory i wyrażenia: arytmetyczne, porównania i logiczne
- Przyrostki w praktyce; rzutowanie a konwersja; tworzenie obiektów w C# 6