質問です。
インターフェースというものがいまいちピンとこないんです。
クラスだったら、そのクラスのインスタンスの実体が作られるってのが何となくイメージがつかめるのですが、
インターフェースの場合、例えば、
var a = Enumerable.Range(1, 5);
って書いたとき、このaはいったい何者なんでしょうか?

Visual studioで、aのところにマウスポインタを持っていくと
System.Collections.Generic.IEnumerable<T>, (Tはint)
みたいな情報が出てくるのですが、つまりは何者やねん?!

「列挙できる何か」でしかないのでしょうか?
実際には何らかのクラスのインスタンスなのでしょうか?
何者かなんて、そもそも気にする必要はないんでしょうか?

なんというか、まるで「抽象クラスなのにその実体が作られちゃった」みたいな、モヤモヤした気持ちです。

うまく表現できなくてすみません。