It's not a tag - it's the C# syntax for using a generic class.
You can read
List<Employee> employees = new List<Employee>();
As "Create a variable called
employees
which contains a List of Employee class instances, and assign a new empty List of Employee instance to it"
When you create a Generic collection (of which List is just one example) you need to specify exactly what class (or base class) it can contain as Generics are strongly typed: you can't add anything except instances of the right class to them. So if you declare a list of doubles:
List<double> myList = new List<double>();</double></double>
You can add double values, but not integers:
int i = 666;
double d = 666.666;
myList.Add(d);
myList.Add(i);
unlike HTML, C# does not need to you "close" the type specifier - that is a feature of HTML and XML only, not of C# source code.