【问题标题】:Can I make a method in C# accept a variable number of arguments and then process these [duplicate]我可以让 C# 中的方法接受可变数量的参数然后处理这些[重复]
【发布时间】:2020-09-15 10:09:49
【问题描述】:

我正在尝试在 C# 中实现类似这样的 Java 代码

    public void log(Object... args) {
        for (int i = 0; i < args.length; i++) {
            if (args[i] instanceof long[]) {
                args[i] = Arrays.toString((long []) args[i]);
            }
        }
    }

在 C# 中是否有可能?

【问题讨论】:

  • params object[] args,可以看文档here
  • 使用is关键字检查类型,if(args[i] is long[]])
  • public void log(params Object[] args){for (int i = 0; i &lt; args.Length; i++)if (args[i] is long[]) args[i] = ((long[])args[i]).Select(x =&gt; x.ToString()).ToArray();}

标签: c#


【解决方案1】:

您可以像文档中那样使用params

public static void UseParams(params int[] list)
{
    for (int i = 0; i < list.Length; i++)
    {
        Console.Write(list[i] + " ");
    }
    Console.WriteLine();
}

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 2019-08-30
    相关资源
    最近更新 更多