因此,很多时候我们都有一个接受 IEnumerable 或 ICollection 作为参数的函数。如果我们有单个项目,但没有集合来保存它们,我们必须在将它们传递给函数之前创建一个集合,例如:
T o1, o2, o3;
Foo(new T[] { o1, o2, o3 });
我总是创建一个数组或列表,就像我在上一个示例中所做的那样。但我想知道,有没有更优雅的方法来创建所需的 IEnumerable 或 ICollection?
如果有人能做到这一点,那就太酷了:
Foo({ o1, o2, o3 });
并且编译器将创建满足 IEnumerable 或 ICollection 需求的最抽象的可能集合(取决于函数接受哪一个)。
无论如何,如何将 o1、o2 和 o3 传递给 IEnumerable 或 ICollection 参数?