При использовании крайне короткоживущих объектов, на которые мне нужно всего лишь вызвать один метод, я склонен привязать вызов метода непосредственно к new
. Очень распространенным примером этого является следующее:
string noNewlines = new Regex("\\n+").Replace(" ", oldString);
Дело в том, что я не нуждаюсь в объекте Regex
после того, как я сделал одну замену, и мне нравится это выразить как однострочный. Есть ли неочевидная проблема с этой идиомой? Некоторые из моих коллег выразили дискомфорт в этом, но без всякой вещи, которая, по-видимому, была хорошей причиной.
(Я отметил это как С# и Java, так как вышеупомянутая идиома является общей и пригодной для использования на обоих языках.)