The biggest difference is that this is declaration
public static DatabaseClass Instance { get; } = new DatabaseClass();
and this is usage
DatabaseClass _database = DatabaseClass.Instance;
You took 2 lines of code out of context. The true context is the classes that have these lines in. One class is most likely a Singleton
public class DatabaseClass
{
private DatabaseClass() {} // hide constructor
public static DatabaseClass Instance { get; } = new DatabaseClass();
}
And another class has some method that calls the class above
public class SomeClass
{
public static void DoSomething()
{
DatabaseClass _database = DatabaseClass.Instance;
_database.PerformSomeOperation()
}
}
By simply looking at the declaration, it is a common way to deal with singletons.
For your question the bottom line is that
line#1 is a declaration of the static property with default read-only value
line#2 is usage of that property