>>Takže čo pribudlo?
Ak ste si nainštalovali novú verziu .Net Framewor SDK a trochu si "poklikáte" v sekcii What's New in the .NET Framework 2 zistíte, že je toho dosť. Keď sa ne ten súhrn pozerám z môjho pohľadu, pribudli hlavne také veci , čo mi chýbali ako programátorovi v C++ pri prechode na C# (napr. šablóny), t.j. rozšírila sa syntaktická základňa.
Ďalej pribudlo množstvo tried, ktoré zas uľahčia programátorom veľa času a nervov :-)
Napr. triedy pre jednoduchú prácu s FTP protokolom alebo veľmi užitočná pomôcka: ping.
>>(ne)Kompatibilita z hľadiska operačného systému
Niektoré funkcie, ktoré pribudli nie sú podmienené iba inštaláciu
.Net Framework-u 2 (t.j behového prostredia), ale aj verziou operačného systému.
Napríklad: Nová trieda HttpListener Vám pomôže jednoducho naprogramovať jednoduchý WebServer, ktorý dokáže odpovedať na HTTP požiadavky, ALE pobeží to len na Windows XP SP2 alebo Windows Server 2003 . To ale nie je pravidlo pre všetky nove triedy v C#2, je to skôr len výnimka.
Dobre si premyslite cieľový operačný systém, kam sa chystáte nasadiť Vašu aplikáciu alebo nezabudnite na túto skutočnosť, keď budete písať minimálne požiadavky.
>>Ešte zopár vylepšení
Ak Vás zaujíma distribuované programovanie (napr. ako mňa), tak Vás poteší množina tried na jednoduchú analýzu stavu sieti. Takže kuknite na priestor mien System.Net.NetworkInformation.
Ak Vaše aplikácie spriadate z vlákien (Threads) :-) , tak určite využijete novu triedu Semaphore na lepšie zabezpečenie konzistencie dát.
Aj keď ASP.NET som zatiaľ priamo nepoužíval, zahliadol som, že pribudla funkcia "skinovania" známa z Windows XP + pribudli ďalšie komponenty ako napr. GridView.
Ku kompresným metódam pribudol formát GZip či metóda „deflate compression"
>>Konzola konečne hýri farbami!
Ak ste pozorne čítali minulú sériu, je tam jeden článok, kde vysvetľujem ako použiť systémové .dll súbory pre farebné vypisovanie do konzoly, zabudnite na to! Microsoft nás vyslyšal :-) a konečne rozšíril funkcie triedy Console.
>>Ako vypisovať farebne?
Držím sa svojich zásad, takže hneď dám príklad:
Príklad 1.1
using System;
class MainClass
{
public static void Main(string[] args)
{
Console.BackgroundColor =ConsoleColor.White;
Console.Clear();
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("Toto je modre");
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Toto je cervene");
Console.ResetColor();
}
}
Príklad na stiahnutie:.....................
Ako vidíte, nastavenie farieb je veľmi jednoduché. BackgroundColor je farba pozadia (papiera) a ForegroundColor je farba popredia t.j. písma.
Keď chceme nastaviť farbu pozadia pre celú konzolu (nie iba pre práve vypisovaný text) musíme zavolať funkcie Console.Clear(), ktorá vymaže celú konzolu práve nastavenou farbou pozadia.
Na konci, aby sme nemuseli nastavovať pôvodné farby, stačí použiť užitočnú funkciu Console.ResetColor().
>>Aké farby môžem použiť?
To si ukážeme na príklade, ako ináč ? :-) Našiel som ho v SDK.
Príklad 1.2
class MainClass
{
public static void Main(string[] args)
{
String[] colorNames =
ConsoleColor.GetNames(typeof(ConsoleColor));
for (int x = 0; x < colorNames.Length; x++)
{
Console.Write("{0,2}: ", x);
Console.ForegroundColor = (ConsoleColor)Enum.Parse(
typeof(ConsoleColor),
colorNames[x ]);
Console.Write("Color: {0}.", colorNames[x]);
Console.ResetColor();
Console.WriteLine();
}
}
}
Príklad na stiahnutie:...............................
>>Čo bude nabudúce?
Keďže trieda Console má ešte veľa nových a zaujímavých funkcií, budeme sa im venovať v ďalšom článku. Taktiež si ukážeme ako využiť triedu ping.
>>Vaše pripomienky a otázky píšte do diskusie alebo na môj e-mail.
Michal Čižmár
micitn@orangemail.sk