Более декларативным способом, в зависимости от критериев, соответствующих объектам для удаления Вас, мог использовать:
[theArray filterUsingPredicate:aPredicate]
@Nathan должен быть очень эффективен
Есть одно возможное повышение производительности, которое я могу thnk of (для невиртуального метода): статическому методу не нужно сначала проверять ссылку на недействительность (чтобы создать исключение NullReferenceException
, где это необходимо).
Я не думаю в настоящее время это дает какое-то преимущество, но оно возможно. Я не уверен, что это применимо в вашем конкретном примере - и трудно понять, как это будет применяться в любом случае, когда вы действительно хотите использовать значение .
В вашем случае (я предполагаю, что образец кода будет в классе Thing) статический и нестатический не будут иметь никакой разницы в скорости вообще. Это из ВАШЕЙ ссылки:
Так что вообще нет смысла делать его статическим для повышения скорости.
Также примите во внимание, что значения, указанные на вашей связанной странице, взяты из .Net 1.1 и устарели.
Я не уверен в статике производительности статических методов и методов экземпляра.
Но я считаю, что следует принимать решение, делать ли это статическим методом или методом экземпляра на основе объектного дизайна. Если при вызове вашего метода состояние объекта не изменяется, вы должны сделать этот метод статическим методом (методом для типа, а не для конкретного экземпляра типа).