【问题标题】:How to declare a function with dynamic arguments in c# [duplicate]如何在 C# 中声明具有动态参数的函数 [重复]
【发布时间】:2016-10-04 09:19:27
【问题描述】:

有没有办法在 c# 中声明一个函数,该函数可以采用动态数量的相同类型参数而不会重载函数,例如:

in foo(...)

foo(1) foo(1, 2) foo(1, 2, 3...)

【问题讨论】:

  • 感谢马克的编辑。

标签: c#


【解决方案1】:

你需要了解params

您可以指定方法的签名,例如:

public void Foo(params int[] list)
{
}

list 将是一个整数数组。

【讨论】:

    【解决方案2】:

    使用 params 关键字:

    int foo(params int[] arguments)
    {
    ....
    }
    

    【讨论】:

    • 简单而简短,谢谢!
    【解决方案3】:

    使用 ParamArrayAttribute 可以得到想要的效果。

    Public void Foo(params int[] list){}

    方法调用示例:

    Foo(1); Foo(1,2); Foo(1,2,3);

    请参阅此处了解更多信息 Msdn multiple parameters

    【讨论】:

      猜你喜欢
      • 2020-09-20
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 2013-06-18
      • 2020-06-01
      • 1970-01-01
      相关资源
      最近更新 更多