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