两个服务TryAddEnumerable(ServiceDescriptor)和另一组调用(TryAddSingleton,TryAddScoped,TryAddTransient)似乎做同样的事情 - 首先检查依赖注入容器中服务的先前注册情况,然后只有在该服务还未注册时才进行注册。
以下是相关文档的链接:https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection,它并没有真正澄清差异,我在谷歌搜索中也没有找到太多相关资料。