C# grafikai lehetőségek
A Console alkalmazás egy egyszerű kezelőfelületű programot jelent. Ezen típusú programok nem kezelhetőek egérrel, nem tartalmaznak menüt, sem egyéb olyan elemeket, melyekből a szabványos Windows-os programok felépülnek.
A Console alkalmazások egy ablakban futnak, melyre karaktereket írhatnak ki. Az adatokat billentyűzetről olvassák be.
A Microsoft.NET Framework 2.0 verziójában a konzolos alkalmazások támogatása erős. Van lehetőség a kurzor pozícionálására, az írás és a háttér színének beállítására. Az adatbevitel nem csak több karakterből álló lehet, hanem van lehetőség billentyűzetleütéseket is kezelni. Az ablak több jellemzője (szélesség, magasság, cím) könnyedén beállíthatóak.
Mindezt a System.Console osztály használatával lehet elérni.
Hálózatok támogatása
A Windows -os programok szabványos kezelőfelületű és viselkedésű programokat jelentenek. Az ilyen programokra jellemző az egérhasználat támogatása. Jellemzően a felső részen menüsort, alatta ikonsort, majd munkaterületet tartalmaznak. Az alsó sorban pedig státuszsor található.
A Microsoft.NET elég jelentős támogatást tartalmaz az ilyen programok fejlesztésére. A Visual Studio-ban lehetőség van vizuálisan megtervezni az alkalmazásunk kezelőfelületét. Az elemeket egy eszközsorról helyezzük el a (kezdetben üres) ablakterületen. A későbbiekben egyszerűen beállíthatjuk azok méretét, helyzetét, megjelenését.
A működtetéshez tartozó programkódot természetesen továbbra is meg kell írni a kódablakban.
A System.Windows.Forms névtérben található számos osztály támogatásával, segítségével végezhetjük el a Windows-os programok fejlesztését.
Adatbáziskezelés támogatása
A Windows-os programok jellemzően grafikus felületen futnak. De nem csak ez az oka, hogy egy programnak tudnia kell tetszőleges programvezérelten rajzokat készíteni. Ennek része, hogy tudjon előre elkészített pixeles rajzokat (.bmp, .png. .jpg, .gif, …) beolvasni, azokat elhelyezni a felületen. Ezekre a System.Drawing névtérben lévő Bitmap és Image osztályok használhatóak.
Másrészről rajzelemekből (pont, szakasz, görbe, sokszögek) újabb rajzok hozhatóak létre. A rajzoláshoz első sorban egy Graphics osztályból kell egy példány, amely mintegy festővászon működik. Erre a festővászonra (más környezetben Canvas) Tollak (Pen), Ecsetek (Brush) használatával lehet rajzolni. A tollnak van színe, vastagsága, és megadható a vonal folytonossága (szaggatott, pontozott, …). Az ecsetnek kitöltő színe és mintája is lehet.
A festővászonra természetesen szövegeket (méghozzá TrueType fontokkal) is elhelyezhetünk.
XML támogatása
A hálózatok kezelése a mai alkalmazások fontos része. Az adatok jelentős része érkezik az internetről, illetve más számítógépekről.
A System.Net és System.Web névterekben válogathatunk, a támogatás bőséges. A .NET tartalmaz osztályokat a HTTP, FTP, SMTP, POP3 protokollok támogatására, de készíthetünk saját protokollokat is. Illetve a fenti protokollok használatát megoldhatjuk saját osztályokkal is. Ekkor a TCP/IP protokoll használatáig is lesüllyedhetünk.
A hálózat alacsony szintű használatához folyamokat (STREAM) kell létrehoznunk, melyekre adatokat írhatunk, és olvashatunk róluk. A hálózatos stream-re írt adatok automatikusan továbbítódnak a hálózat másik gépére. Hasonlóan, a másik gép által küldött adatok automatikusan megérkeznek hozzánk, csak fel kell dolgoznunk. Azt, hogy mikor ki küld, és milyen adatot küld, azt pedig a választott protokoll szabályozza.
C# XML lehetőségek
Az adatbázis-kezelés során a program külső adattárolóról olvas be adatokat, vagy menti el ezen helyre.
E külső adattárolón tárolt nagy mennyiségű adatok kezelésére saját nyelv került kifejlesztésre, az SQL. A Microsoft.NET támogatja a két vezető SQL szerver kezelését (MS-SQL, és Oracle). A Microsoft az adatkezelést egységesített felületen, az ún. ADO-n keresztül nyújtja (Data Access Objects).
Más szerverek (pl MySQL, PostgreSQL) támogatása is megoldható, leggyakrabban a gyártó cégektől beszerzett assembly-k telepítésével.
W3SCHOOL XML oktató oldal
Az XML (Extensible Markup Language) egy szöveges file formátum, melyben strukturált (bár elsősorban kis mennyiségű) adatot tárolhatunk. Kiválóan alkalmas konfigurációs adatok tárolására a helyi gépen.
Az XML file-ok olvasása (feldolgozása) és írása (készítése) többrétűen támogatott. A DOM (Document Object Models) módszerrel is kezelhetjük, vagy alacsonyabb szintű műveleteken keresztül is (XmlDocument , XmlTextWriter, XmlTextReader).
A System.Xml névtérben kínált osztályok segítségével barátságos mennyiségű kód írása révén nagyon szép teljesítménnyel kezelhetjük az XML dokumentumokat.
Alapítpusok és összetett típusok támogatása
Az elemi adattípusokat ( egészek, valós számok, logikai, karakter, …) a CLS réteg írja le. De természetesen van mód összetett adattípusok kezelésére is magas szinten. A tömbök, a verem (Stack), sor (Queue), a lista (List), hasítótábla (HashTable) adatszerkezetek beépített támogatása révén könnyedén tudunk rugalmas módon igazodni a program szövegében a különféle futási adatmennyiségekhez.
A fenti adattípusoknak van típustalan, és típusos (generic) változata is. Ez utóbbi támogatás a .NET Framework 2.0 egyik fontos újdonsága. A kódbiztonság mellett a hatékonyság is nőtt.
File-kezelés támogatása
A file -okban a lokális gépen szoktunk adatokat tárolni. Egy kép (bitmap), egy hang (waw, mp3), egy film (.wmv, .avi) kezeléséhez magából a nyers adathalmazból kell kiolvasnunk az adatokat (feltéve, ha ismerjük annak belső szerkezetét).
Ezek támogatására (file-ok létrehozása, írása, olvasása) a Microsoft.NET tartalmaz osztályokat. A System.IO névtérben van minden típusú file-hoz ( text, bináris) kezeléséhez tartozó objektumosztály.