将几个元素传递给方法

xan*_*r27 0 c# refactoring

我有很少的方法来接受固定大小的集合(例如2,3,5).而我无法确定哪种方式更好:

public void Foo(IEnumerable<Object> objects)
{
    if(objects.Count() != 3)
    {
        throw new Exception()
    }
    // actions
}

public void Foo(Object objectA, Object objectB, Object objectC)
{
    // actions
}
Run Code Online (Sandbox Code Playgroud)

每个选项都有最终的+\ - 吗?

Jon*_*eet 7

在我看来,第二个要好得多:

  • 从签名中可以明显看出它预计有3个值
  • 失败在编译时而不是执行时标记