Ok sa incepem c# ..n00b style

Pentru a folosi c# va trebuie VisualStudio2003(avand .net v1.1) sau,mai bine,VisualStudio(.net v2.0)
Nu are rost sa incep cu istoria ca ar fi prea borring.Important de stiut e ca c# ii cel mai nou limbaj de programare de la MS ce combina functii(in continuare si in toate tutorialele
mele le voi numi metode) din VBasic,VC si un pic din java.
Ca metoda de compilare io ma voi referi in tutorialele mele la compilarea "directa"(folosind c#),adica din VisualStudio2005!
Exista o metoda de compilare si pentru cei ce nu au VS2005 dar vor sa invete

voi face un tutorial in aceasta privinta ceva mai incolo.
Ok...acestea fiind zise sa trecem la treaba : Lansati VS din :
Start>>All programs>>Microsoft Visual Studio 2005>>Microsoft Visual Studio 2005Dupa ce se va incarca programul dati
File>>New>>Project.La "project type" selectati
Visual C# -> Windows !
Sa incepem "low" .La "Templetates" selectati
Console Aplication.La "Name: " scrieti SalutLume(fiind primul program in acest limbaj trebuie sa respectam tutorialul
antet pentru toate limbajele si anume...afisarea de "Salut lume!"(Hello world!)) si apoi dati "Ok"!
Veti vedea ceva de genu:
http://img291.imageshack.us/img291/5985/untitledym6.jpgAcum urmeaza explicatia.
using System;
using System.Collections.Generic;
using System.Text;
namespace SalutLume
{
class Program
{
static void Main(string[] args)
{
}
}
}
La inceput,primele 3 linii se observa:
using System;
using System.Collections.Generic;
using System.Text;
Visual Studio vine cu .Net Framework,iar .Net presupune o colectie de "biblioteci"(in program se numesc "NAMESPACE"-uri) ca sa le zicem asa cu functii predefinite de windows ca sa vina in ajutorul programatorilor.Macroul(cunvatul cheie
"using" este asemanator ca functie cuvantului "#define" in c++ si ii spune compilatorului de c# ca programul foloseste "componente" din acea "biblioteca").
Ok acum imaginativa acea "biblioteca" ca avand mai multe carti.Ei bine cam asa se intampla si in c#,doar cu o mica diferenta, "cartile" din c# nu sunt "carti" ci se numesc clase.
Fiecare clasa dintr-un namespace are la randul ei mai multe metode(functii) specifice clasei.Deci daca am fi sa luam in ordine ierarhica ar fi : Namespaceuri(circa 60-70)-clase-metode(sau functii).
Este importanta aceasta ierarhizare deoarece permite o sortare de componente mai usor de tinut minte.
Urmatoare parte:
namespace SalutLume
{
.
.
.
}
Reprezinta noua "biblioteca" creata a programului, ceea ce permite ca odata compilat,alt program de VS, sa se poata folosi de eventualele functii ce le-ar contine executabilul.Vom vorbi despre "Resurse" in alt tutorial.
Important e de tinut minte ca acest bloc reprezinta o "biblioteca".Se observa asemenea c++-ului ca sunt folosite
{...} (numite si blocuri) ceea ce delimiteza o "biblioteca",o clasa,o functie(vom vedea mai tarziu ca se folosesc
si la proprietati,structuri,etc)
Mai departe:
class Program
{
.
.
.
}
Reprezinta o carte din acea "biblioteca",practic acea clasa(cum am denumit noi "cartile") este,asemenea unei carti : un cuprins de metode(functii).Practic,intr-o clasa sunt mai multe functii care sunt specializate in functie de necesitate.
Ideea de baza este ca o clasa este,pe scara "ierarhica" cu un nivel mai mic decat un namespace("biblioteca"),de aceea,un namespace poate contine mai multe clase!
Apoi partea interesanta:
static void Main(string[] args)
{
}
Intr-o aplicatie de tip consola,in c#,asemenea ca si in c++ functia de baza este "Main"."Main" reprezinta punctul de pornirea al unei aplicatii.Probaibil ca va ganditi ce este cu acel "static" ei bine acest lucru o sa incerc sa-l acopar intr-un tutorial despre "Obiecte".
"string[] args" reprezinta argumentele din consola in momentul executiei.Un alt lucru de amintit este tipurile de variabile. Comparativ cu C++,c# putem vedea:
c++ c#
int int
char char
float float
double double
Tipuri de variabile aditionale c# sunt : string(sir),UInt(unsigned int),Int16,Int32,Int64 etc.
Asadar "string[] args" luat ca argument la "Main",mentine in "args" eventaulii parametri introdusi din consola de windows(Comand Prompt).
Haideti sa facem ca programul nostru sa faca ceva...
Spre exemlu,daca tot ii primu program in c#,sa afiseze, "SalutLume!".
Acum intra in actiune cunostintele acumulate pana acum(adevarat ..putine dar de ajuns pentru aceasta sarcina)
Cum am mai spus...Namespaceurile contin Clase care la randul lor contin metode(sau functii).Apelarea lor in ordine ierarhica se face cu ajutoru "."(PUNCT)
Asadar...pentru a face ca programul sa scrie ceva pe consola(fereastra aceea neagra aseamanatoare Comand Promptului),trebuie sa adaugam :
Console.WriteLine("SlautLume!");
Console.ReadLine();
in interiorul blocului "Main".
Nu va speriati ca nu este greu de inteles. In primele 3 randuri am informat compilatorul ca vom folosi "bibliotecile" : System,System.Collections.Generic,System.Text. Pe noi ne intereseaza biblioteca "System".biblioteca "System" contine clasa "Console" pe care am folosit-o
in "Main".Se observa PUNCTUL dintre "Console" si "WriteLine" ceea ce apeleaza in ordine ierarhica metoda(functia) WriteLine din interiorul clasei "Console".Aceasta metoda face ceea ce vreim noi sa faca adica sa scrie pe ecran "SalutLume!".
CEVA FF IMPORTANT...In c# asemenea ca si in c++ FIECARE comanda se separa de urmatoarea comanda prin ";"(PUNCT SI VIRGULA)O alta functie pe care o contine clasa "Console" este "ReadLine" ceea ce ne permite sa luam date de la utilizator.In cazul nostru,"ReadLine" este utilizat pentru a face o pauza (pana la o apasare de tasta) ca utilizatorul sa vada mesajul.
Programul vostru final ar trebui sa fie ceva de genu:
using System;
using System.Collections.Generic;
using System.Text;
namespace SalutLume
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("SlautLume!");
Console.ReadLine();
}
}
}
Compilarea si rularea directa a unui program in VisualStudio se face apasand tasta F5!
DEci dupa ce ati scris codul apsati F5 si bucurati-va de primul vostru program in C#.
Ar trebui sa vedeti cam asa ceva:
http://img509.imageshack.us/img509/2679/untitledut1.jpgPuteti "jongla" un pic cu mesajul ca sa aratati ca ati inteles!

bagati sa arate alt mesaj sau ceva de genu!
Pentru critici sau comentarii postati aici...
Till next time...
©3Nigma