Q:

Is necessery use object type when use linq?

I found alot linq method use Generics, for example:
public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);

I can use it like:
XX.Where<Person>();

But I also can use it like:
XX.Where();

So Is there any different put  on there?  Is there more faster? or not any different? because it already build correctly when building project??
UPDATE:
Why do I ask it, because I remember when use net3.5 some people told me , if you're not use Generics, there is happening Boxing and unboxing, it will let you application more slow....**

A:

This is a form of type inference.  See http://msdn.microsoft.com/en-us/library/twcad0zb.aspx for a detailed explanation of the process.

