API的参数数组与IEnumerabl e <T>

pra*_*hul 2 c#

我有一个C#API,可以采用相同类型的0/1 /多个参数.什么应该是更好的方法来定义API = paramsIEnumerable<T>

dle*_*lev 6

我几乎总是使用这样params的API,因为它允许调用者传递参数而无需为它们手动构造容器.

这个:

SomeMethod(param1, param2, param3);
Run Code Online (Sandbox Code Playgroud)

比起要求更清洁:

SomeMethod(new[] { param1, param2, param3 });
Run Code Online (Sandbox Code Playgroud)

但是,如果您专门针对单个项目序列进行操作,则IEnumerable<T>更为明智.同样,如果你期望> 5左右的参数,那么可枚举更有意义,因为在那一点上,调用方法开始看起来很糟糕.

它实际上归结为API的逻辑运算,以及您实际期望的参数数量.