Ovviamente il for-if è indispensabile se devi effettivamente fare una ricerca lineare in un array; il punto è che spesso viene usato anche quando si ha a disposizione una struttura dati che fornisce metodi di ricerca più efficienti (vedi l'esempio dell'hashtable, che più o meno corrisponde al caso di cui stiamo discutendo) oppure la funzione fornisce metodi di filtraggio "a monte" che consentono di ottenere un array già scremato (caso della GetFiles).