Beruflich Dokumente
Kultur Dokumente
programskog
jezika C#
as 4.
Strukture u C#
1. VREDNOSNI TIP
Velika slinost.
struct Point
{
public int x;
public int y;
public Point(int x1, int y1)
{
x = x1;
y = y1;
}
}
Point p1; // p1.x, p1.y su nule
Point p2 = new Point(2,2); // p2.x, p2.y su 2
Strukture u C#
1.
2.
"Don " + s
(dva stringa su jednaka, ==, ako imaju iste karaktere na svim pozicijama ili su null oba)
Deklaracija
class Rectangle
{
Point origin;
public int width, height;
public Rectangle() { origin = new Point(0,0); width = height = 0; }
public Rectangle (Point p, int w, int h) { origin = p; width = w; height = h; }
public void MoveTo (Point p) { origin = p; }
Use
Rectangle r = new Rectangle(new Point(10, 20), 5, 5);
int area = r.width * r.height;
r.MoveTo(new Point(3, 3));
7
Struct
Referencni tip
(objekti tj instance klase se
skladite u din. mem. tj. heap-u)
Vrednosni tip
(objekti se uvaju na steku)
Moe da nasleuje
(sve klase su izvedene iz klase
object)
Ne moe da nasleuje
Nabrojive liste
Sintaksa:
enum NAZIV
{ vrednost1, vrednost2, vrednostN };
10
11
Primer 2.
enum Color {red, blue, green} // values: 0, 1, 2
enum Access {personal=1, group=2, all=3}
enum Access1 : byte {personal=1, group=2,
all=3}
Color c = Color.blue;
a = Access.personal | Access.group;
if ((Access.personal & a) != 0)
Console.WriteLine("access granted");
12
Poreenje:
if (c == Color.red) ...
c = c + 2;
c++;
c = c | Color.blue;
c = ~ Color.red;
13
Class System.Enum omoguuje operacije nad ovim podacima
kao na
primer (GetName, Format, GetValues, ...).
Primer 3.
enum Temperatures
{
WickedCold = 0,
FreezingPoint = 32,
LightJacketWeather = 60,
SwimmingWeather = 72,
BoilingPoint = 212,
}
static void Main()
{
System.Console.WriteLine( "Freezing point of water: {0}",
( int ) Temperatures.FreezingPoint );
System.Console.WriteLine( "Boiling point of water: {0}",
( int ) Temperatures.BoilingPoint );
}
14
Prostori imena
15
17
19
Par osvrta na ve
spomenuto...
20
Metoda Main:
21
Pretprocesorske direktive u
C#
22
Pretprocesorske komande
Pretproc. komande Znaenje
#if, #else, #elif, #endif
Uslovno prevoenje
#define, #undef
Definisanje i ponitavanje
definicije. Nema pridruivanja
vrednosti
#warning
#error
#line
#region,#endregion
23
Prevoenje uz zadavanje
komandi
24
25
Nesiguran kod
26
unsafe
27
Primer:
{
return false;
fixed (int* A = a, B = b)
int* pA = A;
int* pB = B;
return true;
}
28
fixed
29
Podeavanje prevodioca
30
Windows aplikacije
Nasleivanje na delu
33
Location
Size
Text
BackColor
......................
34