abstract class in C#

C# uses the abstract keyword in a class declaration to indicate that a class is an abstract class. Abstract class is a class intended only to be a base class of other classes, not instantiated on its own.
```
abstract class Shape {}

class Square : Shape {
    public int i = 10;
    static void Main() {
        var s = new Square();
        System.Console.WriteLine(s.i);
    }
}
```