Класс Program и метод Main. Программы верхнего уровня
Структуры
Инициализация с помощью конструктора
Непосредственная иницилизация полей
Инициализация полей по умолчанию
Конструкторы структуры
Инициализатор структуры
Копирование структуры с помощью with
54.97K
Категория: ПрограммированиеПрограммирование

Лекция 9

1. Класс Program и метод Main. Программы верхнего уровня

Точкой входа в программу на языке C# является метод Main.
Именно с этого метода начинается выполнение программы на C#.
И программа на C# должна обязательно иметь метод Main.
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

2.

class Program
{
static void Main(string[] args)
{
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
}
}

3.

Определение метода Main обязательно начинается с
модификатора static, которое указывает, что метод Main статический. Позже мы подробнее разберем, что все это значит.
Возвращаемым типом метода Main обязательно является тип void.
Кроме того, в качестве параметра он принимает массив строк string[] args - в реальной программе это те параметры, через
которые при запуске программы из консоли мы можем передать
ей некоторые значения. Внутри метода располагаются действия,
которые выполняет программа.

4.

Person tom = new();
tom.SayHello();
class Person
{
public void SayHello() =>Console.WriteLine("Hello");
}

5. Структуры

struct имя_структуры
{
// элементы структуры
}

6.

struct Person
{
public string name;
public int age;
public void Print()
{
Console.WriteLine($"Имя: {name} Возраст: {age}");
}
}

7.

Как и в случае с классами, для обращения к функциональности
структуры - полям, методам и другим компонентам структуры
применяется точечная нотация - после объекта структуры ставится
точка, а затем указывается компонент структуры:
объект.поле_структуры
объект.метод_структуры(параметры_метода)

8. Инициализация с помощью конструктора

Person tom = new Person();
tom.name = "Tom";
tom.Print();
struct Person
{
public string name;
public int age;
public void Print()
{
Console.WriteLine($"Имя: {name} Возраст: {age}");
}
}

9. Непосредственная иницилизация полей

Person tom;
tom.name = "Sam";
tom.age = 37;
tom.Print(); // Имя: Sam Возраст: 37
struct Person
{
public string name;
public int age;
public void Print()
{
Console.WriteLine($"Имя: {name} Возраст: {age}");
}
}

10. Инициализация полей по умолчанию

Person tom = new Person();
tom.Print(); // Имя:Tom Возраст: 1
struct Person
{
// инициализация полей значениями по умолчанию - доступна с C#10
public string name = "Tom";
public int age = 1;
public Person() { }
public void Print() =>Console.WriteLine($"Имя: {name} Возраст: {age}");
}

11. Конструкторы структуры

Person sam = new("Sam", 25);
sam.Print();
struct Person
{
public string name;
public int age;
public Person(string name = "Tom", int age = 1)
{
this.name = name;
this.age = age;
}
public void Print() => Console.WriteLine($"Имя: {name} Возраст: {age}");
}

12. Инициализатор структуры

Person tom = new Person { name = "Tom", age = 22 };
tom.Print();
struct Person
{
public string name;
public int age;
public void Print() => Console.WriteLine($"Имя: {name} Возраст: {age}");
}

13. Копирование структуры с помощью with

Person tom = new Person { name = "Tom", age = 22 };
Person bob = tom with { name = "Bob" };
bob.Print(); // Имя: Bob Возраст: 22
English     Русский Правила