在vb中有一个ParamArray关键字,在c#中用什么取代

lanbaibai 2003-10-10 08:46:34
在vb中有一个ParamArray关键字,在c#中用什么取代
...全文
64 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gage 2003-10-10
  • 打赏
  • 举报
回复
如果说一个方法, 它可能需要传一个参数,或两个参数,三个参数,或都一百个

Console.WriteLine参数里面就是一个 params 关健字,使得参数个数可以为任意个
lanbaibai 2003-10-10
  • 打赏
  • 举报
回复
我知道,但是不用params也可以采用参数的方法参数,我是问加params的必要性,哪种情况要加,哪种情况不要加.
gage 2003-10-10
  • 打赏
  • 举报
回复
关键字可以指定在参数数目可变处采用参数的方法参数

在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。

如 void test(params string[] a)

可以 test()
也可以 test("a", "b", "c")
lanbaibai 2003-10-10
  • 打赏
  • 举报
回复
我感觉object[] list不就可以了吗,为什么还要params object[] list有什么区别吗?
chinchy 2003-10-10
  • 打赏
  • 举报
回复
params 关键字可以指定在参数数目可变处采用参数的方法参数。

在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。

示例
// cs_params.cs
using System;
public class MyClass
{

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

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

public static void Main()
{
UseParams(1, 2, 3);
UseParams2(1, 'a', "test");

int[] myarray = new int[3] {10,11,12};
UseParams(myarray);
}
}
输出
1
2
3

1
a
test

10
11
12

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧