- •Лекция 1: Архитектура .NET
- •Введение в строительные блоки.
- •Различия между сборками, пространствами имен и типами.
- •Приложение 1.
- •Приложение 2.
- •Домашнее задание
- •Лекция 2: Примитивные, значимые и ссылочные типы.
- •Работа с функциями.
- •Модификаторы параметров:
- •Необязательные параметры
- •Именованные параметры
- •Модификаторы доступа
- •Статические классы и члены
- •Типы данных
- •Строки
- •Домашнее задание
Console.WriteLine(text);
}
static void Main(string[] args)
{
print("some text");
print("green", ConsoleColor.Green); print("green", backg: ConsoleColor.Green);
}
Именованные параметры
Если вы хотите вводить параметры не в том порядке, то следует указать их имя.
print("green", foreg:ConsoleColor.Green, backg:ConsoleColor.White); print("green", backg: ConsoleColor.Green, foreg: ConsoleColor.White);
Модификаторы доступа
Модификаторы доступа – это ключевые слова, задающие объявленную доступность члена или типа.
public: Неограниченный доступ.
protected: Доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса.
Internal: Доступ ограничен текущей сборкой.
protected internal: Доступ ограничен пределами сборки или типа, который является производным от данного класса.
private: Доступ ограничен содержащим типом.
Статические классы и члены
Статический класс — класс, для которого нельзя создавать экземпляры, а доступ к его членам осуществляется через имя самого класса. Внутри статического класса должны быть только статические члены.
Статические члены — члены, которые может содержать и нестатический класс, а доступ к ним осуществляется по имени класса.
Типы данных
Некоторые типы данных применяются так часто, что для работы с ними предусмотрен упрощенный синтаксис...
Примитивный тип — тип данных, который поддерживается компилятором напрямую и отображается им в типы из библиотеки классов .NET Framework Class Library (FCL)
ВАЖНО! Классы в C# — это ссылочные типы данных, а структуры — это значимый тип! Структуры лишены механизма наследования, нельзя задавать значение по умолчанию для полей, конструктор по умолчанию создаётся автоматически и его нельзя переопределить.
Явная инициализация полей структур запрещена, поскольку это приводило бы к неявной инициализации переменных этого типа, а это запрещено.
public struct MyStruct
{
public int x;
}
public class MyClass
{
public int x;
}
static void Main(string[] args)
{
MyStruct s;
s.x = 3; //все верно MyClass c;
c.x = 3; //ошибка!
}
Ссылочный тип — тип данных, для которых память выделяется из управляемой кучи, а оператор new возвращает адрес объекта. Незанятой полезной информацией байты объекта обнуляются.
Значимый тип - тип данных, экземпляры которых размещаются в сетке потока, а в их переменных нет указателя, все поля размещаются в самой переменной.
Стек потока — область памяти, поддерживаемой процессором, в которой хранятся локальные переменные.
Управляемая куча — оперативная память компьютера, доступ к ней гораздо медленнее чем к стеку.
Строки
Методы:
Length – длина строки
Compare() - статический метод для сравнения двух строк
Contains() - определяет содержание подстроки в строке
Equals() - идентичность символов
Format() - статический метод создающий строку
Insert() - вставка
PadLeft()/PadRight() - дополняет символами
Trim() - удаляет с начала и конца
ToLower()/ToUpper() - перевод в верхний/нижний регистр