That (
angled brackets;
<>
) is "generic", not LINQ. They are two entirely separate things.
I can see, what made you confuse yourself, the result of a LINQ operation.
using System.Linq;
var aCollection = new List<int> { 1, 2, 3, 4, 5 };
var result = from item in aCollection
select item;
</int>
Generic is used to pass a type as a parameter, not just a variable or object. By passing a type, I mean, that you can instruct the compiler, either to create a list of integers or string items and so on.
var intList = new List<int> { 1, 2, 3 };
var stringList = new List<string> { "Hello", "World" };
</string></int>
LINQ on the other hand is a "very powerful" feature of C# (and VB.NET). The concept (and query building) is very much similar to SQL. You first select a data source, then you perform the operations on it to get a collection (or a single item). For example, the code above. A short answer summary cannot sum up the "pros and cons", so, please read the guides and the articles attached below.
LINQ (Language-Integrated Query)[
^]
System.Collections.Generic Namespace[
^]
CodeProject articles:
A Look at LINQ[
^]
LINQ to Life[
^]
LINQ FAQ for Newbies[
^]
Generics <C#>[
^]
Generics in C# 2.0[
^]