求一函数参数不定类型不定数量的实例 需要点实例参考下,求不吝赐教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有办法要么是void foo(params object[] p){ ...}要么是定义一溜重载:void foo<T1>(T1 p1){ ...}void foo<T1, T2>(T1 p1, T2 p2){ ...}void foo<T1, T2, T3>(T1 p1, T2 p2, T3 p3){ ...}...别以为这很荒诞,微软自己就这么做:比如:Action(T) DelegateAction(T1, T2) DelegateAction(T1, T2, T3) DelegateAction(T1, T2, T3, T4) DelegateAction(T1, T2, T3, T4, T5) DelegateAction(T1, T2, T3, T4, T5, T6) DelegateAction(T1, T2, T3, T4, T5, T6, T7) DelegateAction(T1, T2, T3, T4, T5, T6, T7, T8) DelegateAction(T1, T2, T3, T4, T5, T6, T7, T8, T9) DelegateAction(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) DelegateAction(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) DelegateAction(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) DelegateAction(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) DelegateAction(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) DelegateAction(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) DelegateAction(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) DelegateTuple ClassTuple(T1) ClassTuple(T1, T2) ClassTuple(T1, T2, T3) ClassTuple(T1, T2, T3, T4) ClassTuple(T1, T2, T3, T4, T5) ClassTuple(T1, T2, T3, T4, T5, T6) ClassTuple(T1, T2, T3, T4, T5, T6, T7) ClassTuple(T1, T2, T3, T4, T5, T6, T7, TRest) Class等等 public void test(params object[] a){ for (int i=0;i<a.length;i++) { cw(a[i]); }}test("a");test("a","b");test("a","b","c");test(1);test(1,2);test(1,2,"a",null); 另外, public void Test(params object[] obj) { foreach(object o in obj) { Console.WriteLine(o); } }如果你 Test(new byte[]{1,2,3,4,5....}),只是传了一个参数,所以params很有用 public void Test(params object[] obj){ GetData(参数1,参数2)//参数1只能被Test里的对象1赋值}当我传了对象1给Test(),函数里该怎么把对象1赋给GetData()里的参数1呢 getdate(obj[0]);个人认为 你思路有问题.先整理一下吧.不定量的参数给固定量的参数,本来就不合理. 当我传了对象1给Test(),函数里该怎么把对象1赋给GetData()里的参数1呢public void Test(params object[] obj){ GetData(obj[0],null)//参数1只能被Test里的对象1赋值} insert into 语法错误 如何制作类似VS里边的智能提示框? 谁有VS2008+SQL SERVER2005环境可用的在线考试系统? C#泛型排序,100分送上-----------------------------> c/s c# DataGridView 多表头实现方法 [C#]正则表达式 非回溯的问题 保存IMAGE字段出现的错误,不知怎么回事 Convert.ToDateTime 问题 怎么样实现水晶报表的打印分页? 如何缓存DataSet中的数据? C#winform打开进程所在的文件夹,如何使进程所对应的文件被选中? C#枚举转换调试出现问题求解决
要么是
void foo(params object[] p)
{
...
}
要么是定义一溜重载:
void foo<T1>(T1 p1)
{
...
}
void foo<T1, T2>(T1 p1, T2 p2)
{
...
}
void foo<T1, T2, T3>(T1 p1, T2 p2, T3 p3)
{
...
}
...别以为这很荒诞,微软自己就这么做:比如:Action(T) Delegate
Action(T1, T2) Delegate
Action(T1, T2, T3) Delegate
Action(T1, T2, T3, T4) Delegate
Action(T1, T2, T3, T4, T5) Delegate
Action(T1, T2, T3, T4, T5, T6) Delegate
Action(T1, T2, T3, T4, T5, T6, T7) Delegate
Action(T1, T2, T3, T4, T5, T6, T7, T8) Delegate
Action(T1, T2, T3, T4, T5, T6, T7, T8, T9) Delegate
Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) Delegate
Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) Delegate
Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) Delegate
Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) Delegate
Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) Delegate
Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) Delegate
Action(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) Delegate
Tuple Class
Tuple(T1) Class
Tuple(T1, T2) Class
Tuple(T1, T2, T3) Class
Tuple(T1, T2, T3, T4) Class
Tuple(T1, T2, T3, T4, T5) Class
Tuple(T1, T2, T3, T4, T5, T6) Class
Tuple(T1, T2, T3, T4, T5, T6, T7) Class
Tuple(T1, T2, T3, T4, T5, T6, T7, TRest) Class等等
public void test(params object[] a)
{
for (int i=0;i<a.length;i++)
{
cw(a[i]);
}
}
test("a");
test("a","b");
test("a","b","c");
test(1);
test(1,2);
test(1,2,"a",null);
public void Test(params object[] obj)
{
foreach(object o in obj)
{
Console.WriteLine(o);
}
}
如果你 Test(new byte[]{1,2,3,4,5....}),只是传了一个参数,所以params很有用
{
GetData(参数1,参数2)//参数1只能被Test里的对象1赋值
}
当我传了对象1给Test(),函数里该怎么把对象1赋给GetData()里的参数1呢
getdate(obj[0]);
个人认为 你思路有问题.先整理一下吧.不定量的参数给固定量的参数,本来就不合理.
public void Test(params object[] obj)
{
GetData(obj[0],null)//参数1只能被Test里的对象1赋值
}