C#에서는 인터페이스를 통해 기능 구현에 대한 약속을 추상화할 수 있습니다. 인터페이스는 묵시적으로 추상 형식이며 클래스나 구조체에서 이를 구현 약속(상속)하면 약속한 기능들을 구현해야 합니다.
이러한 인터페이스를 이용하면 같은 인터페이스 기반의 여러 개체를 인터페이스 형식 변수로 사용하는 다형성의 장점을 누릴 수 있습니다. 또한, 이를 프로그래밍에 사용하면 같은 인터페이스를 구현 약속된 개체의 사용 방법을 별도로 익힐 필요가 없게 됩니다.
그리고 C#에서는 데이터나 개체를 보관할 수 있는 여러 종류의 컬렉션을 제공하고 있으며 필수적인 인터페이스 기반으로 정의되어 있어서 효과적으로 프로그래밍할 수 있습니다.