Обе эти C# версии кода компилируются и, кажется, делают одно и то же:
Версия A
class Foo : ICollection<string>
{...}
Версия B
class Foo : ICollection<string>, IEnumerable<string>
{...}
Интерфейс ICollection
наследуется от IEnumerable
, поэтому foo
считается IEnumerable
в любом случае.
В чем разница между двумя версиями и какой я должен использовать?