c#之是什么 [] C#中的语法
无情
阅读:56
2025-06-02 22:19:02
评论:0
在我研究委托(delegate)时,它实际上是 Delegate.cs 中的一个抽象类,看到下面这个方法,看不懂
?虽然它已经是一个引用(类)类型 ?[]?参数含义你能解释一下吗?
public static Delegate? Combine(params Delegate?[]? delegates)
{
if (delegates == null || delegates.Length == 0)
return null;
Delegate? d = delegates[0];
for (int i = 1; i < delegates.Length; i++)
d = Combine(d, delegates[i]);
return d;
}
请您参考如下方法:
分步说明: params Delegate?[] delegates - 它是一个可以为空的数组 Delegateparams Delegate?[]? delegates - 整个数组可以为空
由于每个参数的类型都是 Delegate?然后返回 Delegate?[]? 的索引数组,那么返回类型为 Delegate? 是有意义的否则编译器会返回一个错误,就好像你正在返回和 int来自返回字符串的方法。
例如,您可以更改代码以返回 Delegate像这样输入:
public static Delegate Combine(params Delegate?[]? delegates)
{
Delegate defaulDelegate = // someDelegate here
if (delegates == null || delegates.Length == 0)
return defaulDelegate;
Delegate d = delegates[0] ?? defaulDelegate;
for (int i = 1; i < delegates.Length; i++)
d = Combine(d, delegates[i]);
return d;
}
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



