Základ C# 26 – Užitočné triedy 5 – Ďalšie triedy [More classes]

Už sme prebrali všetky možné triedy a metódy, ktoré .NET ponúka, niektoré však stále zostali nespomenuté. Jedná sa najmä o rôzne menšie triedy, ktorým by bolo zbytočné venovať celý diel.

V .NET Frameworku sa stále nachádza množstvo tried, ktoré sme si neukázali a mohli by si vám hodiť.

DateTime a TimeSpan

Triedy DateTime a TimeSpan slúžia na prácu s časom. Trieda DateTime slúži na určenie konkrétneho dátumu a času, pričom je následne možné členom DayOfWeek zistiť o aký deň sa jedná, členom DayOfYear zistiť, ktorý deň v roku to je alebo pomocou metódy ToString previesť čas na text, s možným formátovaním.

DateTime time = new DateTime(2018, 8, 25, 7, 3, 15);
Console.WriteLine(time.ToString("dd.MM.yyyy HH:mm:ss"));

Týmto formátovaním by sa na obrazovke objavilo „25.08.2015 07:03:15“. Pri formátovaní je možné použiť rôzne textové znaky, ktoré vám vypíšem v nasledujúcej tabuľke.

Kliknite pre zobrazenie

Znak Význam Príklad
d Deň v mesiaci 1-31
dd Deň v mesiaci s nulou 01-31
ddd Skrátené meno dňa Mon/Pon/…
dddd Celé meno dňa Monday/Pondelok/,,,
M Mesiac 1-12
MM Mesiac s nulou 01-12
MMM Skrátené meno mesiaca Jan/…
MMMM Celé meno mesiaca January/Január/…
y Rok 1-9999…
yy Posledné dve čísla roku 00-99
yyy Rok s minimálne tromi číslami 000-9999….
yyyy Rok s minimálne štyrmi číslami 0000-9999…
yyyyy Rok s minimálne piatimi číslami 00000-99999….
h Hodina v 12 hodinovom formáte 1-12
hh Hodina v 12 hodinovom formáte
s nulou
01-12
H Hodina v 24 hodinovom formáte 0-23
HH Hodina v 24 hodinovom formáte
s nulou
00-23
m Minúta 0-59
mm Minúta s nulou 00-59
s Sekunda 0-59
ss Sekunda s nulou 00-59
f Desatina sekundy 0-9
ff Stotina sekuny 00-99
fff Tisícina sekundy 000-999
ffff Desaťtisícina sekundy 0000-9999
fffff Stotisícina sekundy 00000-99999
ffffff Milióntina sekundy 000000-999999
fffffff Desaťmilióntina sekundy 0000000-9999999
F Desatina sekundy bez núl 1-9
FF Stotina sekundy bez núl 01-99 (0.50 = 0.5)
FFF Tisícina sekundy bez núl 001-999
FFFF Desaťtisícina sekundy bez núl 0001-9999
FFFFF Stotisícina sekundy bez núl 00001-99999
FFFFFF Milióntina sekundy bez núl 000001-999999
FFFFFFF Desaťmilióntina sekundy bez núl 0000001-9999999
t Prvé písmeno označovania
doobeda/poobede
A/P
tt Označenie doobeda/poobede AM/PM
g Označenie pred/po našom letopočte B.D/A.D
K Informácie o časovej zóne -07:00/…
z Posun oproti UTC času v hodinách -2
zz Posun oproti UTC času v hodinách
s nulou
-02
zzz Posun oproti UTC času v hodinách
s nulou a minútami
-02:00
: Znak času medzi hodinami : .
/ Znak oddelenia dátumu . – /

Trieda DateTime obsahuje aj statického člena Now, ktorý obsahuje aktuálny čas a dátum. Pokiaľ však chcete s časom robiť iné operácie, musíte použiť triedu TimeSpan. Tá je určená na meranie časových úsekov a tak neobsahuje konkrétny dátum, ale dĺžku času. Vďaka tomu je možné odpočítavať alebo pripočítavať čas. DateTime je možné na TimeSpan skonvertovať použitím člena Ticks.

TimeSpan span = new TimeSpan(DateTime.Now.Ticks);

Vďaka tomu je možné ľahko vypočítať koľko času ubehlo od určitého dátumu alebo koľko času ešte zostáva. Toto sa používa napríklad na vypočítanie rýchlosti sťahovania alebo kopírovania.

Encoding a Convert

Vďaka triede Encoding je možné meniť kódovanie textu medzi kódovaniami ako UNICODE alebo ASCII. Oveľa častejšie však použijete jeho vlastnosť prekódovať typ String na pole Byteov a naopak. Hlavne pri čítaní zo súboru alebo zo siete. Na to slúžia metódy GetStringGetBytes. Okrem toho je možné previesť pole byteov aj na pole typu char metódou GetChars.

Trieda Convert umožňuje konverzie medzi rôznymi dátovými typmi. Napríklad je schopná previesť typ Int na String. To by nebolo nič výnimočné, keby pri tom nebrala do úvahy aj rôzne sústavy, ktoré je možné určiť – je teda možné previesť číslo do 16kovej alebo 2kovej sústavy. Takisto je schopná previesť typ String na Int, opäť s výberom pôvodnej číselnej sústavy. Okrem toho táto trieda vie zakódovať pole byteov do Stringu pomocou formátovania Base64.  Nato slúžia triedy ToBase64String a naopak FromBase64String.

DriveInfo, DirectoryInfo, FileInfo, Directory a File

Táto pätica tried sa zameriava na prácu zo súbormi a zložkami. Trieda DriveInfo poskytuje informácie o jednotke systému. Je ju možné inicializovať parametrom, ktorým je meno alebo písmeno jednotky. Získať zoznam jednotiek je možné statickou metódou GetDrives. V tejto triede je možné zistiť voľné miesto (AvailableFreeSpace), systém súborov (DriveFormat), typ jednotky (DriveType), meno jednotky (VolumeLabel), veľkosť (TotalSize), a ďalšie informácie. Zaujímavý je člen RootDirectory, ktorý obsahuje inštanciu typu DirectoryInfo. Tá vedie k hlavnému priečinku disku.

Trieda DirectoryInfo slúži podobne ako DriveInfo k získaniu informácií, tento krát o priečinkoch. Je možné z nej zistiť kedy bola vytvorená, kedy do nej bolo naposledy zapisované, jej celé meno, atribúty a hlavne či tento priečinok naozaj existuje. Okrem toho ponúka metódy umožňujúce zmazanie alebo vytvorenie priečinku, získanie súborov alebo priečinkov ktoré sa v ňom nachádzajú.

FileInfo nakoniec poskytuje informácie o súboroch. Táto trieda je veľmi podobná triede DirectoryInfo. Je z nej rovnako možné overiť existenciu súboru, zistiť jeho meno, atribúty alebo čas zapisovania alebo vytvorenia a okrem toho aj veľkosť súboru. Okrem toho je však možné do tohto súboru zapisovať alebo z neho čítať. Pokiaľ súbor neexistuje je možné ho vytvoriť alebo naopak ak existuje zmazať.

Triedy Directory a File sú statickými verziami tried FileInfoDirectoryInfo. Neponúkajú toľko možností, ale dokážu vypísať niektoré informácie bez toho aby ste museli robiť množstvo zbytočných objektov, ktoré použijete len raz.

Tieto vedľajšie triedy pekne uzatvárajú sériu základov jazyka C#, no stále je tu však jedna vec ktorú zostáva ukázať. Jedna sa o tvorbu Knižníc a ich používanie, čo si v krátkosti ukážeme v špeciálnom diely, ktorý túto sériu definitívne uzavrie. 

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená.

Scroll to Top