dir.by  
  Поиск  
Компьютер, программы
→
C# (язык программирования)
 Универсальные, обобщенные делегаты в C# (шаблоны) 
посмотрели 11949 раз
обновлено: 5 ноября 2018
Универсальный делегат это C# делегат с параметрами любого типа.
Другими словами это указатель на метод с параметрами любого типа.

Синтаксис
delegate имя_шаблона_out Имя_Делегата<имя_шаблона1, имя_шаблона2, ..., имя_шаблона_out>(имя_шаблона1 value1, имя_шаблона2 value2, ...)
Пример
  C#  
using System;

namespace ConsoleApplication1
{
     class MyCalculator
     {
          public delegate double MyOperation<T1, T2>(T1 value1, T2 value2);
     }

     class Program
     {
          static void Main(string[] args)
          {
               // считаем сумму
               MyCalculator.MyOperation<int, int> myOperation1 = MySum;
               double result1 = myOperation1(2, 6);
               Console.WriteLine(result1);

               // считаем разность
               MyCalculator.MyOperation<string, double> myOperation2 = MyMinus;
               double result2 = myOperation2("5", 1.2);
               Console.WriteLine(result2);
          }

          static public double MySum(int v1, int v2)
          {
               return v1 + v2;
          }

          static public double MyMinus(string v1, double v2)
          {
               return double.Parse(v1) - v2;
          }
     }
}
Объяснение примера
Универсальный делегат MyOperation в примере использует 2 парметра любого типа.

Мы могли написать такие делеаты:
public delegate double MyOperation(int value1, int value2);
public delegate double MyOperation(int value1, string value2);
public delegate double MyOperation(string value1, string value2);
...
НО мы написали 1 делегат который принимает 2 параметра любого типа
public delegate double MyOperation(T1 value1, T2 value2);
Результат примера
Где используются универсальные делегаты?
В библиотеке C# уже написаны универсальные делегаты Action, Predicate, Func, которые много где используются
 
← Предыдущая тема
Безымянный, анонимный метод в C# (метод описанный на месте параметра, делегата)
 
Следующая тема →
Универсальные делегаты Action, Predicate и Func в C#
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

  Объявления  
  Объявления  
 
• Скачать и установить Microsoft Visual Studio
• Скачать и установить Visual Studio 2026 (для изучения C#, написание программ): WPF, ASP.NET, ASP.NET Core, UWP, Maui, Xamarin, Unity, MonoGame)
• Скачать и установить Visual Studio 2022 (для изучения C#, написание программ): WPF, ASP.NET, ASP.NET Core, UWP, Maui, Xamarin, Unity, MonoGame)
• Скачать и установить Visual Studio 2019 (для изучения C#, написание программ: WPF, ASP.NET, ASP.NET Core, Xamarin, Unity, MonoGame)
• Скачать и установить Visual Studio 2017 (для изучения C#, написание программ: WPF, ASP.NET, ASP.NET Core, Xamarin, Unity, MonoGame)
Новое приложение для изучения C#
• Создаем новое консольное приложение для изучения C#
Отладка кода
• Debug.Assert(false) Отладка кода в C#
• Для отладки, опция "Common Language Runtime Exceptions" увидеть исключения, когда выполняется программа C#
• Атрибут [Obsolete("Мой метод устарел. Не используйте", false)] Предупреждение при компиляции кода в C#
Типы данных C#
• C# типы данных: число (bool, char, byte, int, long, float, double, decimal), текст (string), перечисление (enum), класс (class), структура (struct)
• Структура Boolean в C# это флаг со значениями true или false (bool) и методы для конвертации bool
• Структура Int32 в C# это целое число со знаком (int) и методы для конвертации int
• Структура Single в C# это число с плавающей запятой (float) и методы для конвертации float
• var ... Переменная любого типа в C#. Пример: var str = "Hello!";
• Тип dynamic в C#
• Значения по умолчанию в C#
Хранение объектов в памяти. Удаление объектов из памяти
• Ссылочные типы и типы значений в C#
• Стэк (stack) - память для параметров метода и локальных переменных в C#
• Heap - динамическая память доступная во время выполнения программы в C#
• Интерфейс IDisposable. Пишем код для правильного освобождения неуправляемых ресурсов в деструкторе и в интерфейсе IDisposable в C#
• Память. Сборщик мусора (garbage collector). Автоматическое освобождение памяти в C#
C# конвертация типов
• C# конвертация строки в число (string → short, int, long, ushort, uint, ulong, float, double, decimal) | используем Culture (настройки системы)
• C# конвертация числа в строку (int, double, short, ... → string) с необходимой точностью
Текст в C# (тип string и класс String)
• Алгоритм пересечения прямоугольников
• Что такое текст в C# ? Тип string и класс String. Методы для работы с текстом.
• Length (длина строки в C#). Пример: string str1 = "Hello"; int v1 = str1.Length;
• CompareTo (сравнивает текст с учетом регистра в C#). Пример: bool bIsSame = str1.CompareTo(str2)==0;
• ToLower (конвертирует текст в нижний регистр в C#). Пример: string str1 = "HELLO World!"; string str2 = str1.ToLower();
• ToUpper (конвертирует текст в верхний регистр в C#). Пример: string str1 = "Hello World!"; string str2 = str1.ToUpper();
• Split (разбить строку на слова в C#). Пример: string[] arrWords = strText.Split(" ");
• StartsWith (проверяет начало текста с указанным текстом с учетом регистра в C#). Пример: bool bStart = str1.StartsWith(str2);
• Contains (проверяет содержит текст указанный текст или нет с учетом регистра в C#). Пример: bool bFound = str1.Contains(str2);
• IndexOf (ищет строку с учетом регистра и возвращает позицию в C#). Пример: int pos = str1.IndexOf(str2);
• Substring (возвращает часть текста с указанной позиции и длиной в C#). Пример: string str1 = "Hello World!"; string str2 = str1.Substring(2, 5);
• IsNullOrEmpty (проверяет текст на пустой или на null в C#). Пример: string name = "Hello World!"; bool bFlag = String.IsNullOrEmpty(name);
• IsNullOrWhiteSpace (проверяет текст на null или на текст с пробелами в C#). Пример: string name = "   "; bool bFlag = String.IsNullOrWhiteSpace(name);
• [] (возвращает символ с указанной позиции в C#). Пример: char symbol = str[1];
• Format (форматирование текста, строки в C#). Пример: string strNew = String.Format("Hello {0}, {1}", name, year);
• + (добавление строк и текста в C#). Пример: string str = str1 + str2 + " people!";
• $ (интерполяция строк в C#). Пример: string result = $"Hello {a} + {b} = {a + b}";
• Символ @ перед началом строки в C#. Пример: string str1 = @"aaa";
• Используем вместе @ и $ (интерполяцию строк в C#)
DateTime (дата и время) в C#
• Что такое DateTime в C# ? Конвертация в строку с форматом
Перечисления в C# (enum)
• Что такое перечисление (enum) в C# ?
• Как преобразовать текст в enum в C#
• Как перечислить все элементы в enum в C#
null
• null значение для простых типов. Используем ? или Nullable в C#
• Оператор ?? (null-объединение) в C#
try-catch
• Обработка исключений в C#. Оператор try catch finally
Классы в C# (class)
• Что такое класс в C#?
• Модификаторы доступа класса в C#. Модификаторы доступа для методов, свойств, полей в C#
• "partial class" в C#. Описание класса в разных файлах
Конструкторы для класса
• Конструктор класса в C#
• Инициализация объекта класса (установка значений для полей) в C#
• Вызов конструктора у базового класса в C#
• Статический конструктор в классе C#
• "base" Для вызова метода из базового класса. Для вызова переменной из базового класса. Для вызова конструктора из базового класса. C#
• "this" Для установки или получения значения у поля класса. Для вызова конструктора из класса. C#
Деструкторы для класса
• Деструктор класса в C#
• Деструкторы в классах (как вызываются базовые деструкторы) C#
Наследование
• Что такое наследование класса в C# ?
Наследование с использованием new
• Используем new для метода интерфейса. Наследование интерфейса от интерфейса с одинаковым методом
• Используем new для метода класса. Наследование класса от класса в C#.
Наследование с использованием sealed
• sealed class. Запрет наследоваться в C#
• Наследование класса от класса в C#. Используем слова virtual, override, sealed для методов класса
Абстрактный класс
• Что такое абстрактный класс в C# ? Абстрактные методы, свойства, индексы.
• Наследование от класса abstract в C#. Используем abstract и override для методов класса
Константы и readonly поля в классе
• Константы в классе C#
• readonly . Для поля класса. Это поле только для чтения в C#
Свойства get и set в классе C# (аксессоры)
• get set Свойства в классе C#
• Наследование (virtual, override) для аксессоров get и set в C#
Операторы, индексаторы в C#
• Операторы в классе C#. Перегрузка операторов: > < ++ + true false
• Индексаторы в классе C#
Вложенные типы в C#
• Вложенный класс, структура в C#
Параметры в методе класса C#
• ref и out (возврат параметров по ссылке в методе) C#. Пример: public void AddValue(ref int value)
• Параметры по умолчанию (необязательные параметры) в методе C#. Пример: public int CalculateSum(int a, int b, int c=7)
• Именованные параметры C#. Пример: public void CalculateSum(a:7, b:3);
Универсальные методы, универсальные классы в C# (шаблоны)
• Метод с универсальными параметрами в C# (шаблоны). Пример: public double Sum<T1, T2>(T1 value1, T2 value2) { ... }
• Обобщенный (типизированный) класс в C# (шаблоны). Пример class Book<T> { ... }
• where Ограничение типа в обобщенном (типизированном) классе в C# (шаблоны). Пример class Dog<T> where T : Cat
Преобразование объекта класса из одного типа в другой
• explicit это явный оператор преобразования в классе C#
• implicit это неявный оператор преобразования в классе C#
• Преобразование объекта класса из одного типа в другой в C#. Используем try ( ) is as
• Преобразование объекта класса из одного типа в другой в C#. Используем pattern matching is switch
Объект класса в C#
• ? оператор условного null в C#
• Объект класса содержит ссылку в C#
• Как чтобы при копировании объектов в C# копировались данные класса, а не ссылка?
Статический конструктор и статические свойства и методы
• Статический конструктор в классе C#
• Статические методы, свойства, члены в классе C#
Дополнительные возможности класса в C#
• Метод расширения в C# (this в первом параметре метода). Пример: static public void AddValues(this List<int> myList, int value1, int value2)
Правила именования классов в C#
• Какими буквами строчными или заглавными называть классы, методы, свойства ... в C#
• Правильно ли для каждого класса в C# создавать свой .cs файл? Или писать классы C# в одном .cs файле?
Статический класс
• Статический класс в C#
Анонимный класс
• Объект с анонимным (отсутствующим) типом в C#. Пример: var book = new { BookName = "Властелин Колец", Price = 100 };
Интерфейсы
• Что такое interface в C# ?
• Наследование interface от interface в C#
• Наследование класса от класса от interface в C#. Используем override и virtual для методов класса
• Обобщенный (типизированный) интерфейс в C# (шаблоны). Пример interface IUser<T> { ... }
Структура struct
• Что такое структура в C#?
• Модификаторы доступа структуры в C#. Модификаторы доступа для методов, свойств, полей структуры в C#
• Инициализация объекта структуры (установка значений для полей) в C#
• Как поменять значение в массиве структур или в коллекции структур (List) в C#
• Вложенная структура в C#
Преобразование объекта структуры из одного типа в другой
• implicit это неявный оператор преобразования структуры в C#
• explicit это явный оператор преобразования структуры в C#
Отложенная загрузка class Lazy в C#
• Отложенное создание объекта в памяти (class Lazy в C#)
Кортежи (tuple)
• Кортежи (tuple) в C#
Динамические объекты с любыми свойствами
• DynamicObject и ExpandoObject в C#
Массивы
• Что такое массивы? array в C#
• Инициализация массива (заполнение элементов массива array) в C#
• params передача любого количества параметров в метод в C#
• Класс Array (для работы с массивом) C#
Коллекции
• Что такое коллекции в C# ?
• Что такое необобщенные коллекции в C# ? Классы ArrayList, Stack, Queue, Hashtable, SortedList, BitArray
• Что такое обобщенные (типизированные) коллекции в C# ? Классы List<T>, SortedList<T>, Stack<T>, Dictionary<TKey,TValue>, LinkedList<T>, Queue<T>, HashSet<T>, SortedSet<T>, ConcurrentDictionary<TKey, TValue>, SortedDictionary<TKey, TValue>
Классы необобщенных коллекций (в одной коллекции хранятся элементы разного типа)
• Интерфейс IEnumerable. Самый базовый интерфейс для коллекций в C#
• Интерфейсы: ICollection, IList, IDictionary. Основа для коллекций в C#
Класс ArrayList (коллекция в C#)
• Что такое ArrayList в C# ?
Класс SortedList (коллекция в C#)
• Что такое SortedList в C# ?
Класс Stack (коллекция в C#)
• Что такое Stack в C# ?
Класс Queue (коллекция в C#)
• Что такое Queue в C# ?
Класс Hashtable (коллекция в C#)
• Что такое Hashtable в C# ?
Класс BitArray (коллекция в C#)
• Что такое BitArray в C# ?
Классы обобщенных, типизированных коллекций в C# (в одной коллекции хранятся элементы одного типа)
• Интерфейс IEnumerable<T>. Самый базовый интерфейс для типизированных коллекций в C#
• Интерфейсы: ICollection<T>, IList<T>, ISet<T>, IDictionary<TKey, TValue>. Основа для типизированных коллекций в C#
Класс List<T> (типизированная коллекция в C#)
• Что такое List<T> в C# ?
• Инициализация коллекции List в фигурных скобках в C#
• for, foreach (проходим все элементы в List<T>) в C#
• Find (ищем элемент по критерию в List<T>) в C#
• FindAll (ищем список элементов по критерию в List<T>) в C#
• ForEach (для каждого элемента List<T> выполняется действие) в C#
Класс LinkedList<T> (типизированная коллекция в C#)
• Что такое LinkedList<T> в C# ?
Класс SortedList<TKey, TValue> (типизированная коллекция в C#)
• Что такое SortedList<TKey, TValue> в C# ?
Класс Stack<T> (типизированная коллекция в C#)
• Что такое Stack<T> в C# ?
Класс Queue<T> (типизированная коллекция в C#)
• Что такое Queue<T> в C# ?
Класс HashSet<T> (типизированная коллекция в C#)
• Что такое HashSet<T> в C# ?
• Как устроен HashSet<T> в C#
Класс SortedSet<T> (типизированная коллекция в C#)
• Что такое SortedSet<T> в C# ?
Класс ObservableCollection<T> (типизированная коллекция в C#)
• Что такое ObservableCollection<T> в C# ?
Класс Dictionary<TKey, TValue> (типизированная коллекция в C#)
• Что такое Dictionary<TKey, TValue> в C# ?
• Инициализация элементов в конструкторе Dictionary<TKey, TValue> в C#
• Как устроен Dictionary<TKey, TValue> в C#
• Как в C# сконвертировать IEnumerable в → Dictionary<TKey, TValue> . Используем метод ToDictionary
Класс SortedDictionary<TKey, TValue> (типизированная коллекция в C#)
• Что такое SortedDictionary<TKey, TValue> в C# ?
Класс ConcurrentDictionary<TKey, TValue> (типизированная коллекция в C#)
• Что такое ConcurrentDictionary<TKey, TValue> в C# ?
• AddOrUpdate (добавить или обновить значение по ключу в ConcurrentDictionary<TKey, TValue>) в C#
Асимптотическая сложность для добавления, удаления, взятия элемента в коллекциях
• Асимптотическая сложность для добавления, удаления, взятия элемента в коллекциях C# (List, SortedList, Stack, Dictionary, LinkedList, Queue, HashSet, SortedSet, ConcurrentDictionary, SortedDictionary)
Сортировка элементов в массиве [] и коллекции List
• Сортировка элементов в массиве [] и коллекции List<T> в C#. Интерфейс IComparable
• Сортировка элементов в массиве [] и коллекции List<T> в C#. Интерфейс IComparer
Моя реализация IEnumerator, IEnumerable и итераторы
• Пример: Моя реализация интерфейсов IEnumerable и IEnumerator в C#
• Итераторы и yield в C#. Примеры реализации IEnumerable с помощью yield
Методы расширения для IEnumerable (поиск, замена, выборка значений) в C#
• Методы поиска, замены, выборки значений в IEnumerable<T>. Методы расширений для IEnumerable<T> в C#
• Any (метод расширения IEnumerable<T>) в C#
• Select (метод расширения IEnumerable<T>) в C#
• GroupBy (метод расширения IEnumerable<T>) в C#
• GroupJoin (метод расширения IEnumerable<T>) в C#
Сортировка, фильтрация в LINQ (Language-Integrated Query)
• Что такое LINQ в C# ?
• Сортировка, фильтрация элементов списка с помощью LINQ в C#
• Книги для изучения LINQ в C#
Указатели
• Указатели в C#. Оператор unsafe
• Указатели на структуры, поля классов, массивы в C# . Операторы unsafe, stackalloc, fixed
Работа с файлами
• Открываем файл, читаем текст из файла и разбиваем по словам. C#
• Создаем текстовый файл, пишем текст в файл C#
• Создаем HTML файл, пишем табличные данные в HTML файл | C#
• Создаем бинарный файл, пишем байты в файл C#
• Частичная загрузка файла с FTP в C#
• Класс Path. Метод Combine - объединяет строки в полный путь файла. И другие методы класса Path | C#
Сериализация
• Что такое сериализация объекта в C# ? Атрибут [Serializable]
• Сериализация C# объекта в бинарный файл. Класс BinaryFormatter. Атрибут [Serializable]
• Сериализация C# объекта в XML файл. Класс XmlSerializer. Атрибут [Serializable]
• Сериализация C# объекта в JSON файл. Класс DataContractJsonSerializer. Атрибут [Serializable]
• Сериализация C# объекта в SOAP файл. Класс SoapFormatter. Атрибут [Serializable]
Пространства имен
• Пространства имен namespace using в C#
Delegate
• Делегат (delegate) в C#
• Добавление метода(методов) в делегате C#. Объединение делегатов. Удаление метода из делегата
• Делегат как параметр в методе C#
• Безымянный, анонимный метод в C# (метод описанный на месте параметра, делегата)
Универсальные делегаты
• Универсальные, обобщенные делегаты в C# (шаблоны)
• Универсальные делегаты Action, Predicate и Func в C#
События
• События (event) в C#
Лямда
• Лямда (пример) в C#
Регулярные выражения
Регулярные выражения в C#
• Разбиваем текст на слова (регулярные выражения в c#)
• Ставим * вместо фамилии после первой буквы (регулярные выражения в c#)
• Разбиваем текст на слова (регулярные выражения в c#)
Процесс, модули процесса
• Процесс в C# (класс Process)
• Модули процесса в С# (класс ProcessModule)
Потоки, многопоточность
• Потоки в C# (класс Thread)
• Пул потоков в C# (Thread Pool)
• В чем отличие background (фоновый поток) и foreground (на переднем плане поток) в C# ?
• Синхронизация потоков в C#
Parallel Library Task (TPL) Параллельное программирование задач
• Parallel Library Task (TPL). Библиотека параллельных задач в C#
• Класс Parallel используя метод Invoke параллельно выполненяет методы, циклов for и foreach (на разных ядрах процессора) в C#
• PLINQ распараллеливает LINQ запросы для выполнения на разных ядрах процессора в C#
Асинхронные методы (async и await)
• class Task в C#
• Асинхронное программирование в C# (async, await как оформлять)
• Асинхронное программирование в C# (используем async, await и Task на примере)
• Асинхронное программирование в C# (теория)
Домены приложений
• Что такое Домены приложений в C# ? (класс AppDomain)
• Пример "Информация о домене приложения" (имя текущего домена, перечисляем сборки) в C#
• Пример "Создаем 2-ой домен приложения. Пишем класс в 1-ом домене и используем во 2-ом домене. MarshalByRefObject в C#
• Пример "Загружаем 2-ой домен приложения из файла, запускаем вычисления, выгружаем 2-ой домен из памяти" в C#
Атрибуты
• Атрибуты для класса, метода, свойства в C#
• Атрибут [Conditional("AAA")] . Для компиляции игнорировать метод или свойство если не определен символ условной компиляции в C#
• Атрибут [Obsolete("Мой метод устарел. Не используйте", false)] Предупреждение при компиляции кода в C#
• Атрибут [Display(Name = "Sleep at night")] . Для хранения какого нибудь текста прикрепленного к переменной | C#
• Аттрибут [Required(ErrorMessage = "Пожалуйста, введите название")] описывается для свойства в C# классе и требует чтобы свойство было заполнено, если не заполнено на экране ошибка ErrorMessage в ASP.NET MVC
• Аттрибут [Remote("IsValidAuthor", "Home", ErrorMessage = "Enter correct author of book")] описывается для свойства в C# классе и проверяет это свойство на правильность на сервере через метод IsValidAuthor в conroller Home, если метод возвращает false, то на экране будет ошибка ErrorMessage в ASP.NET MVC
Рефлексия (отражение) reflection в C#
• Оператор nameof в C# (имя класса, имя метода, имя переменной)
• Что такое рефлексия (отражение) в C# ? Класс Type
• Создание объекта класса и вызов конструтора с параметрами используя рефлексию (отражение) reflection в C#
• Как получить информацию атрибута для метода у класса. Используем reflection (отражение) | C#
• Как получить информацию атрибута для свойства у класса. Используем reflection (отражение) | C#
• Как поменять свойство (set) в классе если private используя reflection (отражение) | C#
Директивы препроцессора (if при компиляции)
• Директивы препроцессора #define #undef #if #elif #else #endif в C#
• Как определить #define для всех файлов (для всего проекта) в С# ?
Что такое сборка и исполняющая среда CLR ?
• Сборка (Assembly) в C#. Компиляция. Промежуточный код IL (Intermediate Language). Метаданные.
• Как подключить C# сборку в проект?
• Утилита ildasm.exe. Конвертирует сборку (C# exe, dll файл) в промежуточный язык IL (Intermediate Language). Эта утилита удобна для изучения
• Исполняющая среда CLR (Common Language Runtime) в C# . JIT (Just-In-Time) компилятор.
Создание и подключение нашей сборки
• Создание нашей C# сборки (обычная сборка)
• Подключение нашей C# сборки (обычная сборка)
▷
• Создание нашей C# сборки (разделяемая сборка)
• Подключение нашей C# сборки (разделяемая сборка)
База данных в консольном приложении C#
• Entity Framework в консольном приложении C#. Используем Code First (пишем c# код, а таблицы в базе данных создаются сами)
• Читаем картинку из базы данных и сохраняем в файл | ADO.NET, C#, консольное приложение
Внедрение зависимостей (Dependency Injection) DI в C#
• Внедрение зависимостей в C# | Dependency Injection (DI)
• Ninject (IoC-контейнер) управление зависимостями в C#
• Autofac (IoC-контейнер) управление зависимостями в C#
Удобные утилиты Visual Studio
• Графическая диаграмма классов в C# (View Class Diagram)
exe to C# code
• "dotPeek" application for decompile (disassemble) exe to c# source code
В приложении C# вызываем C++ функции
• Что такое управляемый код (managed code) и неуправляемый код (unmanaged code) ? | C# и C++
• Маршалинг (marshalling) в C#. Преобразование типов между управляемым кодом (managed code) и неуправляемым кодом (unmanaged code)
• В приложении C# вызываем функции из Windows dll (C++ WinAPI). Атрибут [DllImport("user32.dll")]
• В приложении C# вызываем функции из моей dll (C++). Атрибут [DllImport("My.dll", CallingConvention = CallingConvention.Cdecl)]
Дополнительные темы, вопросы
• Не создается новый проект в Visual Studio 2019. Ошибка "Object reference not set to instance of an object"
• Ошибка компиляции C#: error CS1106: Extension method must be defined in a non-generic static class
• Ошибка компиляции C#: error CS0246: The type or namespace name "Point" could not be found (are you missing a using directive or an assembly reference?)
• Почему метод Dictionary.TryGetValue не может найти значение по ключу в C# ?
• Объектно-ориентированное программирование (ООП). Принципы ООП: абстрагирование, инкапсуляция, наследование, полиморфизм
• Какими буквами в C# (заглавными или строчными или прописными) называть поля, методы в классе, интерфейсы, делегаты, параметры ?
• Правильно ли для каждого класса в C# создавать свой .cs файл? Или писать классы C# в одном .cs файле?
• Что лучше использовать встроенный тип int или класс Integer (тип string или класс String) на C#?
• Как скачать и установить нужную .NET Framework версию в Visual Studio ?
• Упаковка и распаковка значимых типов в C# (boxing/unboxing)
• Error CS8107 Feature "default literal" is not available in C# 7.0. Please use language version 7.1 or greater
• Error "unable to connect to web server "iis express" | C# | Visual Studio 2017
• Удаляем и устанавливаем NuGet в Visual Studio
• При открытии проекта в Visual Studio 2019 ошибка: "project requires "SQL Server 2012 Express LocalDB" which is not installed on this computer"
Математические операторы checked и unchecked
• Математический оператор unchecked в C#
• Математический оператор checked в C#
Дополнительный C# классы
• C# класс Random
• C# структура Point
• C# структура PointF
• C# структура Size
• C# структура SizeF
• C# структура Rectangle
• C# структура RectangleF
Время
• Время, истекшее с момента загрузки системы (в миллисекундах). System.Environment.TickCount в C#
Шифрование
• Зашифруем пароль и проверим | C# console application
Excell
• Чтение excel файла на C# (console application)
WWW сайты для изучения C#
• Сайты для изучения C#

  Ваши вопросы присылайте по почте: info@dir.by