Is this a valid loop?
First one is hundred times better then the second one. I would avoid defining a variable if you don't really need to. Also I don't believe in one return methods. Especially I don't believe that they improve readability. 

LINQ would definitely improve it:  

return classScatterViews.FirstOrDefault(v =&gt; v.Tag.Equals(find));


Also I would not use as operator if I do not check result for null.