When your code needs to work with an object in memory, it uses a reference, which is a variable whose type is a class of the object it’s going to point to. A reference is like a label that your code uses to talk about a specific object.
This is also apply in Java World. May I say C# is the subset of Java? I guess it's yes in some way.