Основы C#

Основные компоненты языка C#: обзор для новичков

Обновлено: · 3 мин чтения

Язык C# используют для настольных программ, веб-сервисов и мобильных приложений, а начинают его изучение с одних и тех же базовых элементов. Здесь собраны структура программы, типы данных, переменные и операторы с короткими примерами. Этого хватит, чтобы читать простой код и писать первые программы.

Основные компоненты языка C#: обзор для новичков
Содержание
  1. Введение: Часть 1 - основы
    1. Структура программы на C
    2. Основные элементы языка
    3. Методы и их вызов
  2. Основные компоненты C#: Часть 2 - продвинутый уровень
    1. Классы и Объекты
    2. Наследование
    3. Интерфейсы
    4. Делегаты и События
    5. Лямбда-выражения
    6. Заключение

Введение: Часть 1 - основы

Язык программирования C# - мощный, гибкий и один из наиболее широко используемых языков для разработки всего: от простых настольных приложений до сложных веб-сервисов и мобильных приложений. Эта статья поможет новичкам понять ключевые компоненты языка C#, исследуя его основы на примерах и аналогиях.

Структура программы на C

Программа на C# обычно состоит из одного или нескольких классов, в которых находятся методы, выполняющие различные действия. Можно сравнить класс с рецептом блюда, где указаны ингредиенты (поля класса) и инструкции по приготовлению (методы).

Пример

using System;

class Program {
    static void Main(string[] args) {
        Console.WriteLine("Привет, мир!");
    }
}

Перейдём к конструкциям, из которых строится любая программа на C#.

Основные элементы языка

Любая программа на C# строится из нескольких базовых элементов: типов данных, переменных, операторов и управляющих конструкций.

Типы данных

В C# каждая переменная и константа имеет тип, который определяет размер и макет памяти, а также диапазон допустимых значений и множество операций, которые можно с ними проводить.

Таблица основных типов данных:

Тип данных Описание Пример значения
int Целые числа 123
float Числа с плавающей точкой 123.45f
double Двойная точность 123.4567
char Один символ Unicode 'A'
string Последовательность символов "Привет"
bool Булев тип (истина/ложь) true

Переменные

Переменная в C# - это контейнер для хранения данных. Создавая переменную, вы выделяете в памяти место под данные определённого типа.

Пример:

int number = 5;

Операторы

Операторы в C# выполняют операции с переменными и значениями. Операторы бывают разных типов: арифметические, сравнения, логические и т.д.

Примеры:

int a = 5;
int b = a + 2; // арифметический оператор
bool isGreater = b > 5; // оператор сравнения

Условные конструкции

Условные конструкции позволяют выполнять различные блоки кода в зависимости от определённых условий.

Пример с if-else:

int number = 10;
if (number > 5) {
    Console.WriteLine("Число больше 5");
} else {
    Console.WriteLine("Число не больше 5");
}

Циклы

Циклы используются для повторения блока кода до тех пор, пока не будет выполнено определённое условие.

Пример с for:

for (int i = 0; i < 5; i++) {
    Console.WriteLine(i);
}

Методы и их вызов

Методы в C# - это блоки кода, которые выполняют определённые действия. Методы могут принимать параметры и возвращать значения.

Пример метода:

class Program {
    static void Main(string[] args) {
        Greet("Мир");
    }

    static void Greet(string name) {
        Console.WriteLine("Привет, " + name);
    }
}

В этой части статьи мы кратко рассмотрели основы структуры программы на C#, типы данных, переменные, операторы, условные конструкции, циклы и методы. Во второй части мы продолжим изучение оставшихся ключевых аспектов языка C#, включая классы, наследование, интерфейсы, делегаты, события и лямбда-выражения.

Основные компоненты C#: Часть 2 - продвинутый уровень

Продолжаем изучение ключевых аспектов C#.

Классы и Объекты

Классы в C# - это чертежи для создания объектов, которые представляют собой экземпляры этих классов. Классы могут содержать данные (поля) и действия (методы).

Пример класса:

public class Car {
    public string Color;

    public void Drive() {
        Console.WriteLine("Машина едет");
    }
}

Использование:

Car myCar = new Car();
myCar.Color = "Красный";
myCar.Drive();

Наследование

Наследование позволяет создавать новый класс на основе уже существующего класса. Новый класс наследует свойства и методы базового класса, что обеспечивает повторное использование кода.

Пример:

public class Vehicle {
    public void StartEngine() {
        Console.WriteLine("Двигатель запущен");
    }
}

public class Car : Vehicle {
    public int Wheels = 4;
}

Использование:

Car myCar = new Car();
myCar.StartEngine();

Интерфейсы

Интерфейсы определяют "контракт", которому классы или структуры должны следовать. Интерфейс определяет методы и свойства, которые должен реализовать объект.

Пример:

public interface IDriveable {
    void Drive();
}

public class Car : IDriveable {
    public void Drive() {
        Console.WriteLine("Машина едет");
    }
}

Делегаты и События

Делегаты в C# - это типы, которые безопасно представляют методы. События - это специальные механизмы, которые используют делегаты для обеспечения подписки на события.

Пример делегата:

public delegate void MessageDelegate(string message);

public class Messenger {
    public MessageDelegate OnMessage;
}

public class Program {
    public static void Main() {
        Messenger messenger = new Messenger();
        messenger.OnMessage += ShowMessage;
        messenger.OnMessage("Привет, мир!");
    }

    static void ShowMessage(string message) {
        Console.WriteLine(message);
    }
}

Лямбда-выражения

Лямбда-выражения - это сокращённый способ написания анонимных методов. Они часто используются в LINQ и при работе с коллекциями.

Пример:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumbers = numbers.FindAll(x => x % 2 == 0);
foreach (var num in evenNumbers) {
    Console.WriteLine(num);
}

Заключение

Мы рассмотрели основные компоненты C#, такие как переменные, типы данных, классы, наследование, интерфейсы, делегаты и события, а также лямбда-выражения. Понимание этих компонентов - ключ к созданию эффективных и мощных приложений на C#. Освоение C# требует практики и времени, но основные концепции, описанные здесь, послужат хорошим стартом для любого начинающего разработчика.