Category Archives: С#
Как сделать выбор между использованием value типа и reference типа в C#

Документация .NET рекомендует использовать размер типа данных как главный фактор для решения. Другой подход заключается в оценивание следующих факторов: Является…

Чем можно заменить #if/#endif в C#

Для этого используется аттрибут Conditional. Этот аттрибут пишется сверху от тела функции, которая должна возвращать void. Пример: [Conditional(“DEBUG”)] private void…

Как проверить что хост существует прежде чем пытаться к нему подключиться/приконнектиться

Для этого можно послать пинг и если ответ будет положительным – предположить, что хост существует. Например: string ip = “192.168.1.1”;…

Что стоит предпочесть в C#: readonly или const

Const выигрывает в производительности, readonly более гибок. Если нет чёткого понимания насколько нужен небольшой прирост производительности, который даёт const или…

Что такое индексатор (indexer) в C#

Индексатор – это параметризированные свойства (parameterized properties). Если ваш класс будет иметь в интерфейсе элементы с индексом, вам стоит использовать…

log4net файл с логом сохраняется не полностью, а только его последняя часть

Симптомы проблемы следующие: при использовании RollingFileAppender файл с логом архивируется, но оказывается, что в нём сохранены логи только за последнее…

Как определить, что хост доступен, прежде чем попытаться подключиться

Самый простой способ – это послать пинг на адрес этого хоста. Например: string ip = “192.168.17.55”; var ping = new…

Как добавить id процесса в лог файл при использовании log4net

Сделать это можно добавляя свойства в GlobalContext . Например, log4net.GlobalContext.Properties[“pid”] = System.Diagnostics.Process.GetCurrentProcess().Id; Затем нужно добавить ссылку на это свойство в…

String.replace() не меняет текст (функция не работает, не делает ничего)

Данная функция и не должна ничего делать с текстом, так как она immutable string text = “Some text” text.Replace(“Some”, “Big”);…

C# постфикс для обозначения типа числа

Примеры суффиксов для явного задания типов чисел: float f = 1.2f; double d = 1.2d; uint u = 2u; long…

Next Page