
- •Введение
- •Сравнение языков С++ и C#
- •Логические выражения
- •Функции для ввода и вывода в языке C#
- •Управление форматом числовых данных:
- •Обработка исключительных ситуаций
- •Методы и модификаторы параметров
- •Неявно типизированные переменные
- •Понятие класса
- •Свойства
- •Индексаторы
- •Одномерные индексаторы
- •Многомерные индексаторы
- •Перегрузка методов
- •Перегрузка знаков операций
- •Наследование
- •Виртуальные функции
- •Работа с файлами
- •Работа с каталогами
- •Абстрактный класс FileSystemInfo
- •Класс DirectoryInfo
- •Сериализация
- •FileSystemWatcher – отслеживание событий, связанных с файлами
- •Обобщения (шаблоны)
- •Интерфейсы
- •Коллекции
- •LINQ
- •Грамматика выражений запросов
- •Синтаксис запросов
- •Проекция и фильтрация
- •Упорядочение
- •Агрегирующие запросы
- •Операции с коллекциями
- •Операция Concat
- •Операция Union
- •Преобразование
- •Объединение последовательностей
- •FirstOrDefault
- •Группировка
- •Групповая адресация
- •Обработка событий
- •Групповое преобразование делегируемых методов
- •Применение методов экземпляра в качестве делегатов
- •Групповая адресация
- •Ковариантность и контравариантность
- •Класс System. Delegate
- •Назначение делегатов
- •Анонимные функции
- •Анонимные методы
- •Передача аргументов анонимному методу
- •Возврат значения из анонимного метода
- •Применение внешних переменных в анонимных методах
- •Лямбда-выражения
- •Лямбда-оператор
- •Одиночные лямбда-выражения
- •Блочные лямбда-выражения
- •События
- •Пример групповой адресации события
- •Применение аксессоров событий
- •Разнообразные возможности событий
- •Применение анонимных методов и лямбда-выражений вместе с событиями
- •Рекомендации по обработке событий в среде .NET Framework
- •Применение делегатов EventHandler<TEventArgs> и EventHandler
- •Практический пример обработки событий

Чернов Э. А. |
- 44 - |
Лекции по языку C# v 2.3 |
}
Последовательность имеет вид:
№ |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Число |
1 |
1 |
2 |
3 |
5 |
8 |
13 |
21 |
34 |
55 |
Вывод программы для n = 8.
Многомерные индексаторы
Можно создать индексатор, обеспечивающий обращение к элементам многомерных массивов. Ниже приведен пример индексатора для обращения к элементам матрицы:
using System;
using System.Collections.Generic; using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class MyArr
{
int[,] arr;
// Размерность двухмерного массива public int rows, cols;
public int Length; // Для получения объявленной размерности
public MyArr(int rows, int cols) // Конструктор
{
this.rows = rows; this.cols = cols;
arr = new int[this.rows, this.cols];
Length = rows * cols;
}
// Индексатор
public int this[int index1, int index2]
{
get
{
return arr[index1, index2];
}
set
{
arr[index1, index2] = value;
}
}