- •.NET Framework
- •Пример программы
- •Типы
- •Типы-значения: простые
- •Типы-значения: перечисления
- •Типы-значения: структуры
- •Ссылочные типы: классы
- •Ссылочные типы: интерфейсы
- •Ссылочные типы: массивы
- •Ссылочные типы: делегаты
- •Ссылочные типы: строки
- •Упаковка/распаковка
- •Программа: выражения
- •Программа: операторы
- •Сборка
- •Классы
- •Члены класса
- •Доступность членов
- •Пример класса
- •Создание и удаление объекта
- •Вызов метода
- •Итоги
.NET Framework
Язык C#
Лектор: Андрей Михайлович Степанов
1
Пример программы
class Program {
static void Main ( string[] args ) { string dir = System.Console.ReadLine ( ); string[] files = System.IO.Directory
.GetFiles ( dir ); for ( int i = 0; i < files.Length; i++ )
System.Console.WriteLine ( files[i] );
}
}
2
Типы
•Типы-значения – значения хранятся в самой переменной
•Ссылочные типы – значения хранятся в «куче», переменная содержит только ссылку на значение
В основе типов: объектно- ориентированное программирование. Корень иерархии типов: класс System.Object (псевдоним: object)
3
Типы-значения: простые
Псевдоним C# |
Тип (наследник System.ValueType) |
sbyte |
System .SByte |
byte |
System .Byte |
short |
System .Int16 |
ushort |
System .UInt16 |
int |
System .Int32 |
uint |
System .UInt32 |
long |
System .Int64 |
ulong |
System .UInt64 |
char |
System .Char |
float |
System .Single |
double |
System .D ouble |
bool |
System .Boolean |
decim al |
System .D ecim al |
4
Типы-значения: перечисления
Базовый класс – System.Enum
enum Color { Red, Green, Blue }
int i = (int)Color.Blue; // int i = 2;
Color c = (Color)2; // Color c = Color.Blue;
5
Типы-значения: структуры
struct Point{ public int x, y;
public Point(int x, int y) { this.x = x;
this.y = y;
}
}
6
Ссылочные типы: классы
public class Ellipse: Shape { public int internalText;
public override void Paint (
Graphics g, Rectangle r ) { g.DrawEllipse ( r );
}
}
7
Ссылочные типы: интерфейсы
interface IСontrol { void Paint ( );
}
interface ITextBox: IСontrol { void SetText ( string text );
}
8
Ссылочные типы: массивы
int[] a1 = new int[10]; int[,] a2 = new int[10, 5];
a1[3] = 5; a2[3,4] = 2;
9
Ссылочные типы: делегаты
delegate int MyFunction ( string a );
static int SomeFunc ( string a ) { return a.Length;
}
…
MyFunction f = SomeFunc; int k = f ( "test" );
10