Перейти к содержанию

Автор: Леонид Каруна

String.Empty или «» для инициализации строки? [C#]

Используйте то, что вы и ваша команда считаете наиболее удобным для чтения. Кому-то нравится более короткий вариант, кому-то с использование класса. С точки зрения производительности…

Как удалить все файлы и папки в каталоге [C#]

Для удаления всех файлов из папки, можно воспользоваться классами DirectoryInfo и FileInfo:

Если в вашем каталоге может быть много файлов, EnumerateFiles() более эффективна, чем…

IEnumerable или List — что использовать? [C#]

Используйте IEnumerable, если нужны только базовые функции над коллекцией, например, итерация. Используйте IList, ICollection, если нужны более специфические операции над коллекцией. Если вы хотите только…

Получить значение свойства с помощью рефлексии [C#]

Рассмотри возможность получения значения свойства с помощью рефлексии. Для примера, создадим класс User, со следующим содержимым:

Для получения значения свойства, определим и используем следующий…

Как получить индекс текущей итерации цикла foreach [C#]

Для получения индекса текущей итерации цикла foreach, можно воспользоваться несколькими вариантами, рассмотрим их. Foreach предназначен для итерации над коллекциями, которые реализуют IEnumerable. Для этого нужно…

Как генерировать случайные буквенно-цифровые строки [C#]

Каким образом можно сгенерировать один символ или строку из случайных символов, заданной длинны? Первый вариант заключается в создании алфавитной строки и получения случайного символа из…

Какая разница между Select и SelectMany [C#]

SelectMany() позволяет достать многомерную последовательность таким образом, что в противном случае потребуется второй Select() или цикл. В приведенном ниже примере мы увидим, в чем именно…

Как отсортировать список List по свойству в объекте [C#]

Отсортировать список List<T> можно используя методы расширения, метод Sort передавая в него делегат или же реализовывая интерфейсы IComparable и IComparer. Для примера, возьмем класс User…

Почему важно переопределить GetHashCode, когда переопределяется метод Equals? [C#]

Это связано с тем, что фреймворк требует, чтобы два одинаковых объекта имели одинаковый хэш-код. Если вы переопределите метод equals для специального сравнения двух объектов, и…

Как угадать число от 0 до 100 (математический фокус)

Интересный математический трюк, который на первый взгляд может показаться сложным, но на самом деле это не так! Последовательность действий такова: Вам нужно угадать любое число…