Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Интерфейсы.
Итак, еще одно кажущееся таким знакомым слово. Его часто можно встретить в повседневной компьютерной жизни и, где бы оно ни встретилось, толкования этого слова могут несколько отличаться друг от друга. Проясним его значение в контексте языка C#.
Прежде всего введем понятие...
Абстрактный класс.
Предположим в базовом классе для какого-то наследуемого метода трудно придумать осмысленное наполнение. Например, вы реализуете иерархию геометрических фигур, и есть некоторый родительский класс Figure в котором определен метод Draw.
Задачей этого метода является рисование...
Виртуальные методы.
Метод базового класса, которому при определении был указан модификатор virtual, и который был переопределен в одном или более потомственных классов называется виртуальным методом класса. Каждый наследник может иметь собственную версию виртуального метода. При вызове такого...
Наследование.
Итак, настало время ознакомиться с таким вечнозеленым понятием объектно-ориентированного программирования как наследование. Данный термин вам уже известен из курса языка программирования С++.Теперь мы его рассмотрим в контексте С#. Начнем с синтаксиса применяемого для наследования...
Передача параметров в функцию (ref , out)
Как вы уже знаете из предыдущего раздела обычные типы данных типа int, char передаются внутрь метода по значению, что не позволяет сохранять изменения в них после выхода из метода. Для того чтобы решить эту проблему необходимо использовать ключевые слова...
Методы классов.
Использование и создание методов в программе на С# во многом схоже на уже известный вам подход из С++. Рассмотрим это поподробней. В C# любой метод является методом какого-либо класса. Например:
using System;
class Man{
public string name;
public int age;
public...
Сборка мусора.
Предисловие
Автоматическая сборка мусора (выделенной и более не используемой памяти) предназначена для облегчения жизни программисту, позволяя не заботиться о возможных утечках памяти (например, удалить выделенный в куче объект). С одной стороны - безусловно благие намерения, с...
Структуры.
В отличие от классов и структур в C++, структуры C# семантически отличны от классов. В данном разделе будет освещен ряд таких отличий (Некоторые отличия будут указаны в последующих уроках).
Структурный тип
Основное отличие заключается в том, что структуры являются структурными...
Классы.
И снова классы... Что же отличает классы C# от классов C++?
Уровни доступа
В языке C# доступ регулируется несколькими способами:
Доступ для членов класса:
Доступом по умолчанию является private.
Доступ для классов верхнего уровня (классов, не вложенных в другие классы)...
Практический пример. Одномерный массив.
Программа подсчитываем количество четных и нечетных элементов в массиве, а так же количество n-значных элементов (n от 1 до 5). Все элементы массива задаются случайным образом.
using System;
namespace CSharpApplication.ArraysExample
{
class Arrays...
Обработка исключений.
С Понятием исключения вы встречались в курсе С++.Настало время рассмотреть его в аспекте С#. Исключения в С# представлены классами. Все классы исключений могут быть унаследованы от встроенного класса исключений Exception, который является частью пространства имен System...
Работа со строками.
Строка - это один из наиболее важных типов данных при программировании. Вам уже известен подход языков C/C++ для работы с ними. Сейчас настало время разобрать подход к данной проблеме в C#.Во многих языках программирования строка – это массив символов, но в C# строки являются...
Массивы.
И снова здравствуйте. Синтаксис создания массивов в языке C# несколько отличается от привычного :) вам синтаксиса языка C++. Надеюсь, вы сидите...
Массив в C# является ссылочным типом (см. предыдущий урок) и является наследником абстрактного класса System.Array. Таким образом, массив...
Условия и циклы.
В C# поддерживаются многие операторы условий и циклов, применяемых в C++, поэтому рассмотрим только отличия.
Оператор условия if-else внешне выглядит, как в C++
if ( условие )
{
...
}
else if ( условие )
{
...
}
...
else
{
...
}
Однако, в C# выражение в скобках...
Практический пример. Перевод секунд в дни, часы, минуты и секунды.
Надеемся, что название примера говорит само за себя. Поэтому запускайте и разбирайтесь.
using System;
namespace CSharpApplication.ConvertSecondsExample
{
class ConvertSeconds
{
static void Main()
{
//...
Выражения и операторы.
C# - это язык, который основывается на семействе "C"-подобных языков (С, C++, Java) поэтому многие его механизмы работают по схожему принципу, например, операторы. В С# существуют четыре основных класса операторов: арифметические, логические, операторы сравнения...
Программирование консольного ввода-вывода.
Класс System.Console содержит два метода для считывания данных и два для вывода данных. Легче всего понять их работу можно лишь внимательно разобрав практические примеры, приведенные в уроке. Тем не менее уделим этим методам минутку внимания.
Этот...
Типы данных.
В этом разделе мы поговорим о типах данных языка C#. Не скроем, что вы найдете здесь массу сюрпризов. Начнем с того, что все встроенные типы данных являются синонимами для соответствующих структур (в некоторых случаях классов), определенных в пространстве имен System. Это означает...
Вступление.
Предположим, что вы принимаете участие в некотором проекте, и в вашей команде три человека. После того как каждый участник закончил свою часть проекта, настало время собрать все написанные модули для компоновки. Вот здесь и могут возникнуть проблемы, связанные с названиями классов...