Documente Academic
Documente Profesional
Documente Cultură
Cuprins
Mediul .NET i limbajul C#
Structura programelor C#
Operaii cu consola
Caracteristici de baz:
simplitate, obiectual, puternic tipizat (type safe),
derivat din limbajele C i C++, din Java precum i din
VB respectiv Delphi
.NET
Mediu pentru dezvoltarea i execuia unor
aplicaii, avnd urmtoarele caracteristici:
uurina n dezvoltarea unor servicii web
servicii runtime (n timpul execuiei) disponibile pentru
componente scrise n diverse limbaje de programare
interoperabilitate ntre limbaje i chiar ntre platform
Terminologie de baz
CLR (Common Language Runtime)
set de resurse standard ce pot fi folosite de aplicaiile
.NET, indiferent de limbajul n care au fost realizate:
modelul de programare obiectual:
motenire, polimorfism, tratarea excepiilor,
managementul automat al memoriei
faciliti de securitate
un sistem de tipuri
clasele de baz .NET
unelte pentru dezvoltare, depanare i profilare
managementul execuiei i codului
translatoare i optimizatoare de la limbajul IL ctre
limbajul main
.NET
2. Structura programelor C#
Un program C#: o colecie de tipuri, definite n fiiere, ce
sunt organizate n spaii de nume (namespace), care
sunt compilate n module i apoi grupate n ansambluri
(assembly)
In general, aceste uniti organizatorice se pot
suprapune:
un ansamblu poate conine mai multe spaii de nume iar
un spaiu de nume poate fi inclus n mai multe ansamble,
.a.m.d.
10
Program C#:
11
De exemplu:
namespace MyCompany {
namespace MyProduct {
class Point {
}
}
13
}
}
}
14
}
}
}
15
}
}
}
16
18
20
21
Observaii
Majoritatea aplicaiilor au o singur metod
Main( ):
ns pot exista mai multe metode Main( ) n spaii de
nume diferite dar numai una va fi punctul de intrare n
aplicaie
aceasta trebuie specificat la lansarea n execuie a aplicaiei
23
24
Exemplu:
Fiierul Hello.cs
using System;
class Hello {
static void Main( ) {
Console.WriteLine("Hello World");
}
}
25
Clase de baz
Spaiu de nume
Clase coninute
System
System.Reflection
System.IO
System.Collections
System.Web
System.Net
System.Data
System.WinForms
Microsoft.Win32
Intrri/ieiri de la consol
Clasa Console asigur accesul la intrarea
standard, ieirea standard i la fluxuri standard
de erori:
intrarea standard este asociat consolei n intrare
adic tastaturii
ieirea standard i fluxul standard de erori sunt
asociate consolei n ieire adic ecranului
Afiarea datelor
Pentru afiarea datelor se pot folosi metodele:
Console.Write( );
Console.WriteLine( );
29
Specificatori numerici:
Tip specificator
irul rezultat
Tip data
C[n]
$XX,XX.XX
($XX,XXX.XX)
Moneda local
D[n]
[-]XXXXXXX
Valori zecimale
E[n] or e[n]
F[n]
[-]XXXXXXX.XX
G[n]
General-tiinific
N[n]
[-]XX,XXX.XX
P[n]
[-]XX,XXX.XX %
Procente
Hex
R
X[n] sau x[n]
30
irul rezultat
MM/dd/yyyy
dddd, MMMM dd, yyyy
dddd, MMMM dd, yyyy HH:mm
dddd, MMMM dd, yyyy HH:mm:ss
MM/dd/yyyy HH:mm
MM/dd/yyyy HH:mm:ss
MMMM dd
Ddd, dd MMM yyyy HH:mm:ss GMT
yyyy-MM-ddTHH:mm:ss
HH:mm
HH:mm:ss
yyyy-MM-dd HH:mm:ssZ
dddd, MMMM dd, yyyy HH:mm:ss
MMMM, yyyy
31
32
Exemplul 1:
using System;
class TestDefaultFormats
{
static void Main( )
{
int i = 654321;
Console.WriteLine("{0:C}", i);
Console.WriteLine("{0:D}", i);
Console.WriteLine("{0:E}", i);
Console.WriteLine("{0:F}", i);
Console.WriteLine("{0:G}", i);
Console.WriteLine("{0:N}", i);
Console.WriteLine("{0:P}", i);
Console.WriteLine("{0:X}", i);
Console.WriteLine("{0:x}", i);
}
}
// $654,321.00
// 654321
// 6.543210E+005
// 654321.00
// 654321
/ 654,321.00
// 65,432,100.00 %
// 9FBF1
// 9fbf1
33
Exemplul 2:
using System;
class TestIntegerFormats
{
static void Main( )
{
int i = 123;
Console.WriteLine("{0:C6}", i); // $123.000000
Console.WriteLine("{0:D6}", i); // 000123
Console.WriteLine("{0:E6}", i); // 1.230000E+002
Console.WriteLine("{0:G6}", i); // 123
Console.WriteLine("{0:N6}", i); // 123.000000
Console.WriteLine("{0:X6}", i); // 00007B
34
i = -123;
Console.WriteLine("{0:C6}", i); // ($123.000000)
Console.WriteLine("{0:D6}", i); // -000123
Console.WriteLine("{0:E6}", i); // -1.230000E+002
Console.WriteLine("{0:G6}", i); // -123
Console.WriteLine("{0:N6}", i); // -123.000000
Console.WriteLine("{0:X6}", i); // FFFF85
}
}
35
Exemplul 3:
using System;
class TestDateTimeFormats
{
static void Main( )
{
DateTime dt = new DateTime(2007, 10, 23, 19, 15, 33);
Console.WriteLine(dt.ToString());
Console.WriteLine("{0}", dt);
Console.WriteLine("{0:d}", dt);
// "10/23/2007"
Console.WriteLine("{0:D}", dt);
Console.WriteLine("{0:t}", dt);
// "7:15 PM"
Console.WriteLine("{0:T}", dt);
// "7:15:33 PM"
Console.WriteLine("{0:u}", dt);
// "2007-10-23 19:15:33Z"
}
}
36
Citirea datelor
Pentru citirea datelor se pot folosi metodele:
int Console.Read( );
string Console.ReadLine( );
Metoda Read( ):
citete un caracter de la consol
returneaz codul caracterului sau valoarea 1 dac
nu exist un caracter disponibil
Metoda ReadLine( ):
citete un ir de caractere pn la ntlnirea
caracterului CR
returneaz acest ir
37
39
Exemplul 1:
using System;
class ReadFromConsole
{
public static void Main( )
{
Console.Write("Introduceti numele: ");
string strNume = Console.ReadLine( );
Console.Write("Introduceti prenumele: ");
string strPrenume = Console.ReadLine( );
Console.Write("Introduceti varsta: ");
string strVarsta = Console.ReadLine( );
Console.WriteLine( );
Console.WriteLine("Nume: " + strNume);
Console.WriteLine("Prenume: " + strPrenume);
Console.WriteLine("Varsta: " + strVarsta);
}
}
40
Exemplul 2:
using System;
class ReadFromConsole
{
public static void Main( )
{
string myInput;
int myInt;
Console.Write("Introduceti un numar: ");
myInput = Console.ReadLine( );
myInt = Int32.Parse(myInput);
Console.WriteLine("Numarul introdus este: {0}.", myInt);
Console.Write("Introduceti un sir: ");
myInput = Console.ReadLine( );
Console.WriteLine("Sirul introdus este: {0}.", myInput);
41
DateTime dt;
Console.Write("Introduceti o data calendaristica(dd-mm-yyyy): ");
dt = DateTime.Parse(Console.ReadLine( ));
Console.Write("Data & Timpul: ");
Console.WriteLine(dt);
Console.WriteLine("\t{0:D}", dt);
}
}
42