- •Предварительные вопросы к экзамену по дисциплине «Программирование под операционными системами Windows/Linux»
- •Базовые функциональные возможности:
- •Что собой представляет общая система типов (cts):
- •Пример:
- •Важное замечание:
- •Конструкции для выполнения итераций:
- •Формат метода:
- •Типы значения и ссылочные типы
- •Пример:
- •Файловый ввод-вывод
- •Класс Stream:
- •Работа с потоками
- •Получение статистики о текущем потоке (вывод):
- •Главная функция, главная служебная функция и обработчики:
- •Классы для служб Windows:
- •Утилита installutil:
- •Описание архитектуры Linux Операционная система – это то, что превращает ваше аппаратное обеспечение в пригодный для использования компьютер.
- •Журналируемые файловые системы
- •Процессы
Базовые функциональные возможности:
Возможность обеспечения взаимодействия с существующим программным кодом
Поддержка для многочисленных языков программирования
Общий исполняющий механизм
Полная и тотальная интеграция языков
Обширная библиотека базовых классов
Отсутствие необходимости в предоставлении низкоуровневых деталей COM
Упрощенная модель развертывания
Три ключевые сущности платформы:
CLR – Common Language Runtime (общеязыковая исполняющая среда)
CTS – Common Type System (общая система типов)
CLS – Common Language Specification (общеязыковая спецификация)
Что собой представляет общая система типов (cts):
Класс
Интерфейс
Структура
Перечисление
Делегат
Типы классов:
class Calc
{
public int Add(int x, int y)
{
return x + y;
}
}
Типы интерфейсов:
public interface IDraw
{
void Draw();
}
Типы структур:
struct Point
{
public int xPos, yPos;
public Point (int x, int у) { xPos = x; yPos = y; }
public void PrintPosition ()
{
Console.WriteLine (" ({0}, {1})", xPos, yPos);
}
}
Типы перечислений:
public enum CharacterType
{
Wizard = 100,
Fighter = 200,
Thief = 300
}
Типы делегатов:
public delegate int BinaryOp(int x, int y);
Обработка аргументов командной строки:
static void Main(string[ ] args)
{
// Обработка любых входящих аргументов.
for(int i = 0; i < args.Length; i++)
Console.WriteLine ("Arg: {0}", args[i]);
Console.ReadLine();
}
Пример «Hello World»:
namespace SimpleCSharpApp
{
class Program
{
static void Main(string [] args)
{
// Вывод простого сообщения пользователю.
Console.WriteLine("Hello World!");
// Ожидание нажатия клавиши <Enter>
Console.ReadLine();
}
}
}
Пространство имен (namespace) - группа связанных между собой с семантической точки зрения типов, которые содержатся в сборке
Сборка (assembly) - большой двоичный объект, получаемый при создании файла *.dll или *.ехе с помощью .NET-компилятора
Тип - любого элемента из множества (класс, интерфейс, структура, перечисление, делегат)
Пример:
// Локальные переменные объявляются и инициализируются
// следующим образом:
// типДанных имяПеременной = начальноеЗначение;
int myInt = 0;
// Объявлять локальные переменные и присваивать им
// начальные значения можно также в двух отдельных строках.
string myString;
myString = "This is my character data";
Console.WriteLine("Your data: {0}, {1}", mylnt, myString);
// Объявление трех переменных типа bool в одной строке.
bool b1 = true, b2 = false, b3 = b1;
Пример:
// Использование ключевого слова
// new для создания переменных
bool b = new bool (); // Установка в false.
int i = new int(); // Установка в 0.
double d = new double() ; // Установка в 0.
DateTime dt = new DateTime(); // Установка в 1/1/0001 12:00:00 AM
Console.WriteLine ("{0}, {1}, {2}, {3}", b, i, d, dt);
